JDBC+struts1.2中的修改和删除咋弄?

我把我这整个的联系说的详细点啊五个字段,id、name、address、tel、email;实体类User构建get、set方法用JDBC连接数据库UserDAO类修改和... 我把我这整个的联系说的详细点啊
五个字段,id、name、address、tel、email;
实体类User构建get、set方法
用JDBC连接数据库
UserDAO类修改和删除方法如下
public int update(User u) {
String sql = "update user_tab set name='" + u.getName() + "',address='" + u.getAddress() + "',tel='" + u.getTel() + "',email='" + u.getEmail() + "',where id=" + u.getId();
db.open();
int i=db.execute(sql);
db.close();
return i;
}
public int delete(User u) {
int i=0;
String sql="delete from user_tab where id="+u.getId();
db.open();
i=db.execute(sql);
db.close();
return i;
}
biz修改和删除方法
public int edit(User u) {
return dao.update(u);
}
public int remove(User u) {
return dao.delete(u);
}
jsp修改、删除的超链接
<td><a href="user.do?status=toedit&id=${user.id}">修改</a></td>
<td><a href="user.do?status=delete&id=${user.id}">删除</a></td>
修改页面edit.jsp
<form action="user.do?status=doedit" method="post">
姓名:<input type="text" name="user.name" value="${user.name }"/><br /><br />
地址:<input type="text" name="user.address" value="${user.address}"/><br /><br />
电话:<input type="text" name="user.tel" value="${user.tel }"/><br /><br />
邮箱:<input type="text" name="user.email" value="${user.email }"/><br /><br />
<input type="hidden" name="user.id" value="${user.id }">
<input name="" type="submit" value="更新" /></form>
struts-config中代码
<action-mappings >
<action
attribute="userForm"
input="/errorr.jsp"
name="userForm"
parameter="status"
path="/user"
scope="request"
type="com.hud.web.struts.action.UserAction">
<forward name="list" path="/list.jsp" redirect= "false " ></forward>
<forward name="edit" path="/edit.jsp" redirect= "false " ></forward>
</action>
</action-mappings>
以上内容,我觉得都没什么问题,主要问题就是不知道Action中怎么写
老找不到id,用request.getParameter("id")来获取ID,但是是String类型的,我试了半天也转换不到User实体类型,搞了好久试过各种方法,练DAO,biz的参数类型都修改了,但是还是报错,不报错后,运行页面跳转什么的都没问题,就是找不到ID,达不到删除和修改的功能。
请给为高手帮帮我,Action里该怎么写?上面其他部分有写错的地方吗?
先谢过了
看到了两位朋友的解释,我又试了试
我在form增加了实体累User的字段并实例化,
UserForm中同edit方法如下
public ActionForward toedit(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
UserForm userForm = (UserForm) form
User u=null;
try{
String id=request.getParameter("id");
u=userForm.getUser();
u=biz.getById(Integer.parseInt(id));
request.setAttribute("one",u);
}catch(Exception e){
e.printStackTrace();
}
return mapping.findForward("edit");
}
可以跳转到edit.jsp页面,但是我再表单文本框中用el表达式绑定的数据出不来,但是地址栏上的显示 /user.do?status=toedit&id=3,说明我已经找到了id。但是为什么显示不出数据呢,我不知道我页面上的标签写的对不对?
还有就是到了这个页面后修改完了怎么提交表单进行更新我还是不知道怎么写,删除也还不会,不知朋友们是否可以详细告知,先谢过,解决后我再加分
展开
 我来答
老唐日常游戏vlog
2010-06-13 · TA获得超过2103个赞
知道小有建树答主
回答量:1102
采纳率:0%
帮助的人:361万
展开全部
页面的标签有问题 ${param.id} 参数自然得用参数获取了。。
栏上的显示 /user.do?status=toedit&id=3//传回的参数有什么意义呢?

u=userForm.getUser();
u=biz.getById(Integer.parseInt(id));
request.setAttribute("one",u);//你这里已经存了User对象了。。。
页面就应该这么写${one.name} ${one.tel} //注意命名
---------------------------------------------------------------
更新操作如下:
在Action 你得到了要更新的ID了吧
u=userForm.getUser();
u=biz.getById(Integer.parseInt(id));
UserDAO dao=new UserDAO();
if(dao.update(u)>0)
{
System.out.println("更新成功");
}else{
System.out.println("更新失败");
}
删除操作雷同。。。。。
fylsh
2010-06-12 · TA获得超过950个赞
知道小有建树答主
回答量:1472
采纳率:0%
帮助的人:1046万
展开全部
request.getParameter("id")这个能得到值吗?不能得到说明你的标签有问题,或者放的位置不对。你的actionForm对象中的数据必须在form之中。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jdrelax1986
2010-06-12 · 超过34用户采纳过TA的回答
知道答主
回答量:119
采纳率:0%
帮助的人:70万
展开全部
通过request.getParameter("id")来获取ID,然后new一个User 把form中的属性一一赋给user中的属性,当然还有id属性 然后传入user 就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式