struts2中,登录的表单值传给action,action类里也将用户类作为自己的属性,但类的对象得到的值为空?求助
这是登录表单<s:formaction="wuxian!login.action"method="post"><s:textfieldname="user.wuName"...
这是登录表单
<s:form action="wuxian!login.action" method="post">
<s:textfield name="user.wuName" label="name"></s:textfield>
<s:password name="user.wuPassword" label="password"></s:password>
<s:submit value="Submit"></s:submit>
</s:form>
这是action
public class WuxianAction extends ActionSupport { IWuxianBiz wuxianBiz;
private Wuxian user;
public Wuxian getWuxian() {
return user;
}
public void setWuxian(Wuxian user) {
this.user = user;
}
public IWuxianBiz getWuxianBiz() {
return wuxianBiz;
}
public void setWuxianBiz(IWuxianBiz wuxianBiz) {
this.wuxianBiz = wuxianBiz;
}
public String login(){
System.out.println(user.getWuName());//user为空
boolean flag = wuxianBiz.isLogin(user);
if(flag){
ActionContext act = ActionContext.getContext();
Map<String, Object> map = act.getSession();
map.put("wuName", user.getWuName());
return SUCCESS;
}
else{
return ERROR;
}
}
}
报错 :
java.lang.NullPointerException
com.beijing.ac.WuxianAction.login(WuxianAction.java:116) 展开
<s:form action="wuxian!login.action" method="post">
<s:textfield name="user.wuName" label="name"></s:textfield>
<s:password name="user.wuPassword" label="password"></s:password>
<s:submit value="Submit"></s:submit>
</s:form>
这是action
public class WuxianAction extends ActionSupport { IWuxianBiz wuxianBiz;
private Wuxian user;
public Wuxian getWuxian() {
return user;
}
public void setWuxian(Wuxian user) {
this.user = user;
}
public IWuxianBiz getWuxianBiz() {
return wuxianBiz;
}
public void setWuxianBiz(IWuxianBiz wuxianBiz) {
this.wuxianBiz = wuxianBiz;
}
public String login(){
System.out.println(user.getWuName());//user为空
boolean flag = wuxianBiz.isLogin(user);
if(flag){
ActionContext act = ActionContext.getContext();
Map<String, Object> map = act.getSession();
map.put("wuName", user.getWuName());
return SUCCESS;
}
else{
return ERROR;
}
}
}
报错 :
java.lang.NullPointerException
com.beijing.ac.WuxianAction.login(WuxianAction.java:116) 展开
2个回答
展开全部
呵呵当然会报错,因为他根本取不到值
首先你要理解<s:textfield name="user.wuName" label="name"></s:textfield>
这里的user.XXXXX
那么对于的Action的类里面的get、set方法应该跟的是user:
private Wuxian user;
错误:public void ----setWuxian-----(Wuxian user) {
this.user = user;
}
……getWuxian……
正确:public void setUser(Wuxian user) {
this.user = user;
}
……getUser……
首先你要理解<s:textfield name="user.wuName" label="name"></s:textfield>
这里的user.XXXXX
那么对于的Action的类里面的get、set方法应该跟的是user:
private Wuxian user;
错误:public void ----setWuxian-----(Wuxian user) {
this.user = user;
}
……getWuxian……
正确:public void setUser(Wuxian user) {
this.user = user;
}
……getUser……
更多追问追答
追问
一定要用 user类吗?我的user类就是Wuxian类啊?
追答
名称要求要user,因为你是user.wuPassword这样写的
那你代码肯定要serUser他才能够识别是user的wuPassword
所以你如果是aaa.id,那么代码那边要有setAaa这个东西
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询