javax.servlet.ServletException: No getter method for property logname of bean org.apache.struts.taglib.html.BEAN
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
org.apache.jsp.reguser_jsp._jspService(org.apache.jsp.reguser_jsp:92)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
======================
为什么说,发错不了 logname ===============RegUserForm.java=========
package org.cjea.Struts.example;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping; public final class RegUserForm extends ActionForm{ private String logname;
private String password;
private String email; public RegUserForm(){
logname = null;
password = null;
email = null;
} public String getLogName() {
return this.logname;
}
public void setLogName(String logname) {
this.logname = logname;
}
public void setPassWord(String password) {
this.password = password;
}
public String getPassWord() {
return this.password;
}
public void setEmail(String email) {
this.email = email;
}
public String getEmail() {
return this.email;
} public void reset(ActionMapping mapping, HttpServletRequest request)
{
logname = null;
password = null;
email = null;
}
}
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
org.apache.jsp.reguser_jsp._jspService(org.apache.jsp.reguser_jsp:92)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
======================
为什么说,发错不了 logname ===============RegUserForm.java=========
package org.cjea.Struts.example;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping; public final class RegUserForm extends ActionForm{ private String logname;
private String password;
private String email; public RegUserForm(){
logname = null;
password = null;
email = null;
} public String getLogName() {
return this.logname;
}
public void setLogName(String logname) {
this.logname = logname;
}
public void setPassWord(String password) {
this.password = password;
}
public String getPassWord() {
return this.password;
}
public void setEmail(String email) {
this.email = email;
}
public String getEmail() {
return this.email;
} public void reset(ActionMapping mapping, HttpServletRequest request)
{
logname = null;
password = null;
email = null;
}
}
import org.apache.struts.action.*; public final class RegUserAction extends Action
{ public ActionForward perform(ActionMapping mapping,
ActionForm form, HttpServletRequest req,
HttpServletResponse res)
{
String title = req.getParameter("title");
String password = req.getParameter("password");
String email = req.getParameter("email");
/*
取得用户请求,做相应数据库操作,略
*/
return null;
}
}
===========struts-config.xml================<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<form-beans>
<form-bean name="regUserForm"
type="org.cjea.Struts.example.RegUserForm"/>
</form-beans>
<action-mappings>
<action path="/regUserAction"
type="org.cjea.Struts.example.RegUserAction"
name="regUserForm"
scope="request"
validate="false">
<forward name="failure" path="/messageFailure.jsp"/>
<forward name="success" path="/messageSuccess.jsp"/>
</action>
</action-mappings>
<message-resources parameter="resources.application"/>
</struts-config>
==================
请问那里错呀!那里配置不对呢???
<table border="0" width="100%"> <tr> <th align="right"> Logname: </th> <td align="left"> <html:text property="logname" size="20" maxlength="20"/>
</td> </tr> <tr> <th align="right"> Password: </th> <td align="left"> <html:password property="password" size="20" maxlength="20"/>
</td> </tr> <tr> <th align="right"> E-mail: </th> <td align="left"> <html:password property="email" size="30" maxlength="50"/>
</td> </tr> <tr> <td align="right"> <html:submit property="submit" value="Submit"/> </td> <td align="left"> <html:reset/> </td> </tr> </table> </html:form> </body> </html:html>
================================
奇怪的是
把
<html:password property="password" size="20" maxlength="20"/>
及
<html:text property="logname" size="20" maxlength="20"/>
删除了,就可以正常显示!请问是什么原因
没看明白,干吗要用req.getParameter()...
你到底是把FormBean部署在jsp里还是通过传递请求参数获得输入。
把JSP帖上来
我认为跟方法名没关系
Action里获得FormBean是通过把参数ActionForm强制转换成你部署的FormBean类型然后调用他的get方法来实现的
没看明白,干吗要用req.getParameter()...
你到底是把FormBean部署在jsp里还是通过传递请求参数获得输入。
把JSP帖上来
=================================reguser.jsp=============这个就是了!
private String password;
private String email; public RegUserForm(){
logname = null;
password = null;
email = null;
} public String getLogName() {
return this.logname;
}
public void setLogName(String logname) {
this.logname = logname;
}
public void setPassWord(String password) {
this.password = password;
}
public String getPassWord() {
return this.password;
}
public void setEmail(String email) {
this.email = email;
}
public String getEmail() {
return this.email;
}
/////////////////////////////////////////////
这一段,你的get,和set方法中getLogName()名字不对,属性是logname,方法就要用getLogname(),password也一样
1、把你对应的几个get,set方法改成这样:getLogname,setLogname,getPassword,setPassword;
2、如果你在Action里面用req.getParameter("");从客户端来取值,你在Form里面的get,set方法其实没有用;
3、<html:form action="regUserAction" name="regUserForm" type="org.cjea.Struts.example.RegUserForm" focus="logname" >把这几个方面改了试一下看看吧。