javax.servlet.jsp.JspException: No getter method for property: "username" of bean: "org.apache.struts.action.DynaActionForm"
at org.apache.struts.taglib.TagUtils.lookup(TagUtils.java:987)
at org.apache.struts.taglib.html.BaseFieldTag.prepareValue(BaseFieldTag.java:121)
at org.apache.struts.taglib.html.BaseFieldTag.renderInputElement(BaseFieldTag.java:102)
at org.apache.struts.taglib.html.BaseFieldTag.doStartTag(BaseFieldTag.java:81)
at org.apache.jsp.WEB_002dINF.form.userlogin_jsp._jspx_meth_html_text_0(userlogin_jsp.java:204)
at org.apache.jsp.WEB_002dINF.form.userlogin_jsp._jspx_meth_html_form_0(userlogin_jsp.java:147)
at org.apache.jsp.WEB_002dINF.form.userlogin_jsp._jspService(userlogin_jsp.java:96)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
at org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:688)
at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:658)
at org.apache.struts.taglib.logic.ForwardTag.doForward(ForwardTag.java:121)
at org.apache.struts.taglib.logic.ForwardTag.doEndTag(ForwardTag.java:105)
at org.apache.jsp.index_jsp._jspx_meth_logic_forward_0(index_jsp.java:105)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:78)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
PropertyMessageResources - getMessage(zh_CN,forward.forward)
[jsp] - Servlet.service() for servlet jsp threw exception
javax.servlet.jsp.JspException: Exception forwarding for name userlogin: org.apache.jasper.JasperException: Exception in JSP: /WEB-INF/form/userlogin.jsp:5653:  <B>鐢? 鎴? 鍚?:</B>
54:  </TD>
55:  <TD width="30%">
56:  <html:text property="username"/>
57:  </TD>
58:  <TD width="20%">
59:  &nbsp;

解决方案 »

  1.   

    <%@ page language="java" pageEncoding="UTF-8"%><%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
    <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
    <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%>
    <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE>登陆页</TITLE>
    <META http-equiv=Content-Type content="text/html; charset=utf-8">
    <LINK href="./css/user.css" type=text/css rel=stylesheet>
    <LINK href="./css/bbs1.css" type=text/css rel=stylesheet>
    <SCRIPT language=javaScript src="./css/Main.js" type=text/javascript></SCRIPT> <META content="MSHTML 6.00.3790.3959" name=GENERATOR>
    <script type="text/javascript">
    function check()
    {
    if(document.all["username"].value=="")
    {
    alert("请输入登陆名.");
    return false;
    }
    else if(document.all["password"].value=="")
    {
    alert("请输入登陆密码");
    return false;
    }
    return true;
    }
    </script>
    </HEAD>
    <BODY leftMargin=0 topMargin=0 marginheight="0" marginwidth="0">

    <html:form action="/userlogin" method="post" focus="username" onsubmit="return check();">
    <TABLE class=tableBorder cellSpacing=0 cellPadding=0 width="95%"
    align=center>
    <TBODY>
    <TR>
    <TH class=th width="35%" colSpan=4 height=25>
    <SPAN>登 陆<SPAN></SPAN>
    </SPAN>
    </TH>
    </TR>
    <TR>
    <TD width="20%">
    &nbsp;
    </TD>
    <TD width="30%" height=25>
    <B>用 户 名:</B>
    </TD>
    <TD width="30%">
    <html:text property="username"/>
    </TD>
    <TD width="20%">
    &nbsp;
    </TD>
    </TR>
    <TR>
    <TD width="20%">
    &nbsp;
    </TD>
    <TD width="30%" height=25>
    <B>用户密码:</B>
    </TD>
    <TD width="30%">
    <html:password property="password"/>
    </TD>
    <TD width="20%">
    &nbsp;
    </TD>
    </TR>
    <TR style="TEXT-ALIGN: center">
    <TH class=th width="35%" colSpan=4 height=25>
    <INPUT type=submit value=登陆>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <INPUT type=reset value=重置>
    </TH>
    </TR>
    </TBODY>
    </TABLE>
    </html:form>
    </BODY>
    </HTML>
    文件是这样写的
      

  2.   

    后台Action是怎么写的,把代码贴出来。
      

  3.   

    谢谢各位的帮助,action 为下/*
     * Generated by MyEclipse Struts
     * Template path: templates/java/JavaClass.vtl
     */
    package com.hanke.struts.action;import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.action.DynaActionForm;
    import java.io.IOException;import javax.servlet.http.HttpSession;
    import org.apache.struts.actions.DispatchAction;
    import com.hanke.service.biz.IuserBiz;
    import com.hanke.service.entity.user;
    /** 
     * MyEclipse Struts
     * Creation date: 07-27-2011
     * 
     * XDoclet definition:
     * @struts.action path="/userlogin" name="userloginForm" input="/WEB-INF/form/userlogin.jsp" scope="request" validate="true"
     */
    public class UserloginAction extends Action {

        private IuserBiz userBiz;
      
    public IuserBiz getUserBiz() {
    return userBiz;
    }   public void setUserBiz(IuserBiz userBiz) {
    this.userBiz = userBiz;
    } public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) {
    DynaActionForm userloginForm = (DynaActionForm) form;// TODO Auto-generated method stub
    DynaActionForm dform = (DynaActionForm)form;
    String username = (String)dform.get("username");
    String password = (String)dform.get("password");
    // 调用商业组件进行用户身份验证
    user user = userBiz.verifyUser(username, password);
    if (user != null) {
    request.getSession().setAttribute("CURRENT_USER", username);
    // 成功登陆,在会话监听器集合中更新登陆状态

    request.setAttribute("msg", user.getUsername());

    mapping.findForward("welcome");
    } else {
    request.setAttribute("msg", "用户名或密码错误,登陆失败!");
    }

    return null;
    }
    }
      

  4.   

    DynaActionForm 里没username这个属性或少了GET,SET方法。
      

  5.   

    javax.servlet.jsp.JspException: No getter method for property: "username" of bean: "org.apache.struts.action.DynaActionForm"DynaActionForm 里没username这个属性或少了GET,SET方法。 
    检查下form文件
     
      

  6.   

    这个类里面的这个属性没用getset方法
      

  7.   

    用的是代理的Form还是自己定义的Form,如果是自己定义的Form就要检查一下UserloginForm了
      

  8.   

    DynaActionForm  里面的 username 没有生成 get、set 方法