<a href="javascript:editPage('<ww:property value="userid" />');" >修改</a>
---------------------------------------------------------
function editPage(userid){
document.delForm.action="<%=request.getContextPath() %>/user!editPage.action?userid="+userid;
document.delForm.submit();
}
--------------------------------------- public String editPage() throws Exception {
User uu = (User) userService.queryById(User.class, user.getUserid());
return "editPage";
}
这么写个修改怎么会空指针呢有谁知道么
---------------------------------------------------------
function editPage(userid){
document.delForm.action="<%=request.getContextPath() %>/user!editPage.action?userid="+userid;
document.delForm.submit();
}
--------------------------------------- public String editPage() throws Exception {
User uu = (User) userService.queryById(User.class, user.getUserid());
return "editPage";
}
这么写个修改怎么会空指针呢有谁知道么
这个没有传递到ACTION 变量名不对
function editPage(1932139217)userid的具体值,报错是User uu = (User) userService.queryById(User.class, user.getUserid()); 有 错,但是我不知道action这么写为啥会错
private User user; 然后生成了get set的方法?如果是的话修改如下代码:document.delForm.action=" <%=request.getContextPath() %>/user!editPage.action?user.userid="+userid;
不是在user下的userid你应该是ACTION中没有获取到id
那这个应该怎么改?我在action中声明一个userid么
你在action中没有绑定传值,页面怎么去接收呢???
{
userService.update(user);
return "requery";
}
public String editPage() throws Exception {
User uu = (User) userService.queryById(User.class, user.getUserid()); System.out.println("1111111111"+uu.getUserid());
return "editPage";
}我现在喷uu.userid已经能接到正确的id了
{
userService.update(uu);
return "requery";
}这个我改了但是只能接到id没有其他的值
User uu = (User) userService.queryById(User.class, user.getUserid()); System.out.println("1111111111"+uu.getUserid());
System.out.println("33333333"+uu.getTel());
return "editPage";
}这里喷出来的其他属性都是null只有id,是我User uu = (User) userService.queryById(User.class, user.getUserid()); 有错么,uu是不是应该接到所有user里的属性呢
}
建议改成如下方法:public User queryById(String id) {return (User)dao.queryById(User.class, id);
}在action中调用此方法的时候只传userid即可
document.delForm.action=" <%=request.getContextPath() %>/user!editPage.action?user.userid="+userid;
document.delForm.submit();
public String editPage() throws Exception {
User uu = (User) userService.queryById(User.class, user.getUserid());
return "editPage";
}
这个怎么改吧
}
java.lang.IllegalArgumentException: id to load is required for loading
}
User uu = (User) userService.queryById(userid);
System.out.println(userid);
return "editPage";
根本就没走这个打印就报错了
你这句话把我误导了。我以为你userid能在action中打印出值来document.delForm.action=" <%=request.getContextPath() %>/user!editPage.action?user.userid="+userid;
这里的代码改了吗?再次验证你<a href="javascript:editPage(' <ww:property value="userid" />');" >修改 </a> 这里写的正确?
红色部分能打印出值来吗?
User uu = (User) userService.queryById(User.class, user.getUserid());
// User uu = (User) userService.queryById(userid);
System.out.println(userid);
return "editPage";
我这么写只能接到userid的值倒是显示在修改页面上只有userid其他的都没有
System.out.println(user.getUserid());
如果有就要你的这个
User uu = (User) userService.queryById(User.class, user.getUserid());
换成怎样
user = (User) userService.queryById(User.class, user.getUserid());
略看了下,如果是userid传到后台,后台取不到值,是因为你JS里传参的时候传的是userid,而你在后台接收值的时候呢却用user.userid,这样肯定是接不到的,你可以在后台声明一个全局的userid,为它生成get和set,然后前台传值按你现有的传输方法不变,这样userid就可以在后台接收到
如果是你查询出来了而在前台展示时,文本框里面没值呢是你S2的标签有问题,你的是
<ww:property value="user.userid"/>,正规的应该是<s:property value='#request.user.userid'/>这样才对..
不晓得你是哪种方式...........