Java 设置bean时出现Nullpointerexception

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

我有一个行动的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.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属性的新手,这是一个打字错误。请告诉我如何回答它被接受。请告诉我如何回答它被接受