首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

按书下敲入代码 将JSP提交的表单封装成一个JAVABEAN,运行jsp后可以看到表单 但提交时报错 。请教是什么原因

2012-12-15 
按书上敲入代码 将JSP提交的表单封装成一个JAVABEAN,运行jsp后可以看到表单 但提交时报错 。请问是什么原因

按书上敲入代码 将JSP提交的表单封装成一个JAVABEAN,运行jsp后可以看到表单 但提交时报错 。请问是什么原因?
本帖最后由 xiulidefeng2012 于 2012-11-19 13:49:20 编辑  按书上敲入代码 将JSP提交的表单封装成一个JAVABEAN,运行jsp后可以看到表单 但提交时报错 。请问是什么原因?
报错如下:
java.lang.NullPointerException
controller.Login.validate(Login.java:19)
com.opensymphony.xwork2.validator.ValidationInterceptor.doBeforeInvocation(ValidationInterceptor.java:235)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:247)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:148)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:93)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
[最优解释]
请问一下你的javabean有不有get set方法呢
[其他解释]
controller.Login.validate(Login.java:19)

Please  look validate 19 Line 

NullPointerException 
[其他解释]
你的jsp页面中表单的name是不是 loginInfoRef.属性名呢,还有你的javabean有没有get    set方法
[其他解释]
if(null!=loginInfoRef.getPassword()&&"".equals(loginInfoRef.getPassword())){
this.addFieldError("loginInfoRef.password","对不起,密码不可以为空!");

[其他解释]
entity 实体类里没有属性的get set方法 。??
[其他解释]
controller.Login.validate(Login.java:19)
////控制台已经说了Login类的第19行,引发了一个空指针。
如果表单有输入数据,那么你提交的时候报出nullpoint,应该是表单的数据提交时没有被封装到bean中去。
看下bean中,有没有设置属性的方法。get/set
[其他解释]
if(null!=loginInfoRef.getUsername()&&"".equals(loginInfoRef.getUsername())){
this.addFieldError("loginInfoRef.username","对不起,用户名不可以为空!");
}
if(null!=loginInfoRef.getPassword()"".equals(loginInfoRef.getPassword())){


this.addFieldError("loginInfoRef.password","对不起,密码不可以为空!");
}
[其他解释]
package controller;
import com.opensymphony.xwork2.ActionSupport;
import entity.LoginInfo;
public class Login extends ActionSupport{
/**
 * 
 */
private static final long serialVersionUID = 1L;
private LoginInfo loginInfoRef;
public LoginInfo getLoginInfoRef(){
return loginInfoRef;
}
public void setLoginInRef(LoginInfo loginInfoRef){
this.loginInfoRef=loginInfoRef;
}
@Override
public void validate(){
super.validate();
if("".equals(loginInfoRef.getUsername())){
this.addFieldError("loginInfoRef.username","对不起,用户名不可以为空!");
}
if("".equals(loginInfoRef.getPassword())){
this.addFieldError("loginInfoRef.password","对不起,密码不可以为空!");
}
}
public String execute(){
if(loginInfoRef.getUsername().equals("ghy")&&loginInfoRef.getPassword().equals("123")){
return SUCCESS;
}
else{
return ERROR;

}
}
}
这是我按书上写的login.java 代码
[其他解释]

引用:
请问一下你的javabean有不有get set方法呢
 能帮我看下代码哪里有问题么 我是初学者 不太懂
[其他解释]
引用:
controller.Login.validate(Login.java:19)

Please  look validate 19 Line 

NullPointerException
 能帮我看下代码哪里有问题么 我是初学者 不太懂 

热点排行
Bad Request.