Java 设置bean时出现Nullpointerexception
我有一个行动的URL后,点击一个超链接像这样Java 设置bean时出现Nullpointerexception,java,struts2,nullpointerexception,action,javabeans,Java,Struts2,Nullpointerexception,Action,Javabeans,我有一个行动的URL后,点击一个超链接像这样 /SocialStupendous/GetProfile.action?slno=3&slno=3 在ActionClass的execute方法中,我有以下代码 public String execute() { int urislno=Integer.parseInt(getServletRequest().getParameter("slno")); System.out.println(urislno); bean.set
/SocialStupendous/GetProfile.action?slno=3&slno=3
在ActionClass的execute方法中,我有以下代码
public String execute() {
int urislno=Integer.parseInt(getServletRequest().getParameter("slno"));
System.out.println(urislno);
bean.setUslno(urislno);
}
当我执行bean.setuslnourislno时,我得到了NullPointerException。即使Urilno正确打印为3
ProfileBean类:
为什么会这样 bean未初始化。您应该在操作中以某种方式初始化它
private ProfileBean bean = new ProfileBean();
//and add getter ans setter
但是,更好的方法是让容器为您完成这项工作。您只需要在struts.xml中创建一个bean配置
您不需要解析参数请求,这已经由params拦截器完成,它是您的操作应该运行的defaultStack的一部分。您应该在操作中创建属性以保存参数值
private Integer slno;
public Integer getSlno() {
return slno;
}
public void setSlno(Integer uslno) {
this.slno = slno;
}
这样的动作看起来就像
public String execute() {
if (slno != null) {
System.out.println(slno)
bean.setUslno(slno);
}
......
return SUCCESS;
}
bean未初始化。您应该在操作中以某种方式初始化它
private ProfileBean bean = new ProfileBean();
//and add getter ans setter
但是,更好的方法是让容器为您完成这项工作。您只需要在struts.xml中创建一个bean配置
您不需要解析参数请求,这已经由params拦截器完成,它是您的操作应该运行的defaultStack的一部分。您应该在操作中创建属性以保存参数值
private Integer slno;
public Integer getSlno() {
return slno;
}
public void setSlno(Integer uslno) {
this.slno = slno;
}
这样的动作看起来就像
public String execute() {
if (slno != null) {
System.out.println(slno)
bean.setUslno(slno);
}
......
return SUCCESS;
}
首先,为什么要直接从请求访问参数?关于NPE,在看到什么是空的之后,不应该很明显出了什么问题吗?我想找到那些曾经点击过说getprofile.action的url的用户。抓住用户的唯一方法是通过他/她的slno。因此,我想测试我是否能够访问url中的参数,这些参数会随着用户的变化而变化。无需直接访问请求,请使用av action属性。请您简要介绍一下av action,我不知道这一点,因为我是strutsAn action属性的新手,这是一个输入错误。为什么您首先直接从请求访问参数?关于NPE,在看到什么是空的之后,不应该很明显出了什么问题吗?我想找到那些曾经点击过说getprofile.action的url的用户。抓住用户的唯一方法是通过他/她的slno。因此,我想测试我是否能够访问url中的参数,这些参数会随着用户的变化而变化。无需直接访问请求,请使用av action属性。请您简要介绍一下av action,我不知道这一点,因为我是strutsAn action属性的新手,这是一个打字错误。请告诉我如何回答它被接受。请告诉我如何回答它被接受