org.apache.jasper.JasperException: An exception occurred processing JSP page /userlist.jsp at line 1310:  <body>
11:  <html:form action="/userlist"> 
12:  <logic:iterate id="UserinfoForm" name="userlistForm" property="userlist"> 
13:          <html:text name="UserinfoForm" property="username"/><br> 
14:          <html:text name="UserinfoForm" property="password"/><br> 
15:      </logic:iterate>
16:     <html:submit/>

解决方案 »

  1.   

    一看异常明显就是ActionForm的问题!!
    使用的ActionForm中没有username属性标准的getter setter方法!!!
      

  2.   


    lowson0UserinfoForm中username的setter和getter: 
    public String getUsername() { 
    return username; 

    public void setUsername(String username) { 
    this.username = username; 
    } 这些不是标准的getter setter方法吗
      

  3.   

    public class UserinfoForm extends ActionForm {
    private String password;
    private String username;
    private String email;
    public ActionErrors validate(ActionMapping mapping,
    HttpServletRequest request) {
    return null;
    }
    public void reset(ActionMapping mapping, HttpServletRequest request) {
    // TODO Auto-generated method stub
    }
    public String getPassword() {
    return password;
    }
    public void setPassword(String password) {
    this.password = password;
    }
    public String getUsername() {
    return username;
    }
    public void setUsername(String username) {
    this.username = username;
    }
    public String getEmail() {
    return email;
    }
    public void setEmail(String email) {
    this.email = email;
    }
    }
      

  4.   

    貌似你的标签写错了。。你的userList是埋藏在form里,但是里面装的是具体的bean
    想迭代的是bean里的属性。
    应该是写错了。
      

  5.   

    页面代码: 
    <logic:iterate id="UserinfoForm" name="userlistForm" property="userlist"> 
    <html:text name="UserinfoForm" property="username"/> <br> 
    <html:text name="UserinfoForm" property="password"/> <br> 
    </logic:iterate> struts-config.xml中是这样的: 
    <form-beans > 
        <form-bean name="userinfoForm" type="org.XX.struts.form.UserinfoForm" /> 
        <form-bean name="userlistForm" type="org.XX.struts.form.UserlistForm" /> 
    </form-beans> 冒昧的问一下楼主~!红色部分的是你的那个实体类的类型吗?
    我想应该不是吧!~!如果猜的没有错的话!~你的实体类是叫UserInfo吧!~!
    你把红色的那个去掉、如果你坚持要写的话也应该写你的完整的实体名!~如:org.XX.entity.Userinfo
    改了应该就没有错了!~!如果还错的话就看看你的userlistForm这个集合是不是存到作用域中了!~!
      

  6.   

    冒昧的问一下楼主~!红色部分的是你的那个实体类的类型吗? 
    我想应该不是吧!~!如果猜的没有错的话!~你的实体类是叫UserInfo吧!~! 
    你把红色的那个去掉、如果你坚持要写的话也应该写你的完整的实体名!~如:org.XX.entity.Userinfo 
    改了应该就没有错了!~!如果还错的话就看看你的userlistForm这个集合是不是存到作用域中了!~!
    【正解】
      

  7.   

    送你句口诀,id是自己的,name是从别处得来的,这样编程就OK了
      

  8.   

    public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) {
    UserlistForm userlistForm = (UserlistForm) form;
    List userlist = (List)userinfoService.getUserList("select userinfo.username as username,userinfo.email as email,userinfo.password as password from userinfo userinfo");
    System.out.println("in userlistaction,after userlist init");
    List list = new  ArrayList();
    for(int i=0;i<userlist.size();i++){
    Object[] detail = (Object[]) userlist.get(i);
    UserinfoForm info = new UserinfoForm();
    info.setUsername(detail[0].toString());
    info.setEmail(detail[2].toString());
    info.setPassword(detail[1].toString());
    list.add(info);
    }

    userlistForm.setUserlist(list);
    //request.setAttribute("aa", userlistForm.getUserlist());
    return mapping.findForward("sucess");
    }OK!