struts:No getter method for property Teacher.user of...html.BEAN
input.jsp
------------------------------------------------------
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%//@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
<%@ taglib uri="/WEB-INF/struts-template.tld" prefix="tiles" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html lang="true">
<head>
</head>
<body>
<html:form action="add1.do">
<table border="0">
<tr>
<td>Login:</td>
<td><html:text property="Teacher.user"/></td>
</tr>
<tr>
<td>sex:</td>
<td><html:password property="Teacher.sex" /></td>
</tr>
<tr>
<td colspan="2" align="center"><html:submit value="Submit" /></td>
</tr>
</table>
</html:form>
</body>
</html:html>
---------------------------------------------------------
Teacher.java
---------------------------------------------------------
package app;
public class Teacher {
private String name;
private String sex;
public void setName(String i){
this.name=i;
}
public String getName(){
return name;
}
public void setSex(String i){
this.sex=i;
}
public String getSex(){
return sex;
}
}
-------------------------------------------------------------
TeacherForm.java
-------------------------------------------------------------
package app;
import org.apache.struts.action.*;
import javax.servlet.http.*;
public class TeacherForm extends ActionForm{
/**
*
*/
private static final long serialVersionUID = 4347553271016601386L;
private Teacher teacher=new Teacher();
public ActionErrors validate(ActionMapping actionMapping, HttpServletRequest httpServletRequest){
return null;
}
public void reset(ActionMapping actionMapping, HttpServletRequest httpServletRequest) {
teacher = new Teacher();
}
public Teacher getTeacher() {
return teacher;
}
public void setTeacher(Teacher teacher) {
this.teacher = teacher;
}
}
---------------------------------------------------
struts-config.xml
---------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
<struts-config>
<data-sources />
<form-beans >
<form-bean name="RegisterForm" type="app.RegisterForm">
</form-bean>
<form-bean name="TeacherForm" type="app.TeacherForm">
</form-bean>
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings>
<action path="/add" type="app.RegisterAction" name="RegisterForm" scope="request" input="register.jsp">
<forward name="success" path="/success.jsp"></forward>
<forward name="failure" path="/failure.jsp"></forward>
</action>
<action path="/add1" type="app.TeacherAction" name="TeacherForm" scope="request" input="input.jsp">
<forward name="success" path="/success.jsp"></forward>
</action>
</action-mappings>
<message-resources parameter="com.yourcompany.struts.ApplicationResources" />
</struts-config>
--------------------------------------------------------
我刚打开input.jsp就报了
javax.servlet.ServletException: No getter method for property Teacher.user of bean org.apache.struts.taglib.html.BEAN
各位大侠帮我看看啊;
问题点数:40、回复次数:28Top
1 楼zhaochunhui(没有烟抽的日子@漫漫长路.......)回复于 2006-09-04 12:50:10 得分 0
顶Top
2 楼zhaochunhui(没有烟抽的日子@漫漫长路.......)回复于 2006-09-04 12:53:34 得分 0
快来人啊Top
3 楼zhaochunhui(没有烟抽的日子@漫漫长路.......)回复于 2006-09-04 13:23:20 得分 0
怎么没人Top
4 楼JaredJared()回复于 2006-09-04 13:29:21 得分 0
<html:text property="Teacher.user"/> teacher里面没有user属性啊。Top
5 楼zhaochunhui(没有烟抽的日子@漫漫长路.......)回复于 2006-09-04 13:35:16 得分 0
我把 Teacher.user 换成了 Teacher.name了
不过还是不好使啊! 我用的是tomcat5.028Top
6 楼zhaochunhui(没有烟抽的日子@漫漫长路.......)回复于 2006-09-04 14:34:20 得分 0
有没有人在啊~!Top
7 楼nc201(Bricklayer)回复于 2006-09-04 14:42:18 得分 5
<td><html:text property="user"/></td>
</tr>
<tr>
<td>sex:</td>
<td><html:password property="sex" /></td>
</tr>
这样试试Top
8 楼jihanzhong(逍遥)回复于 2006-09-04 14:43:04 得分 0
Teacher.name 把前面的Teacher. 去掉Top
9 楼zhaochunhui(没有烟抽的日子@漫漫长路.......)回复于 2006-09-04 14:50:54 得分 0
把Teacher 去掉 就留 name 也是不好使啊 ~!
郁闷~!
什么原因呢 我的Teacher.java 已经定义 name 和 sex了Top
10 楼zhaochunhui(没有烟抽的日子@漫漫长路.......)回复于 2006-09-04 14:51:26 得分 0
快帮我看看啊~!Top
11 楼zhaochunhui(没有烟抽的日子@漫漫长路.......)回复于 2006-09-04 15:10:22 得分 0
有没人在啊Top
12 楼nc201(Bricklayer)回复于 2006-09-04 15:10:51 得分 5
<tr>
<td>Login:</td>
<td><html:text property="teacher.user"/></td>
</tr>
<tr>
<td>sex:</td>
<td><html:password property="teacher.sex" /></td>
</tr>
把Teacher换成teacher
对象名 而非 类名Top
13 楼jihanzhong(逍遥)回复于 2006-09-04 15:18:44 得分 0
<html:form action="add1.do">
换成 <html:form action="/add1">
然后 Teacher.name 把前面的Teacher. 去掉
Top
14 楼jihanzhong(逍遥)回复于 2006-09-04 15:21:47 得分 0
javax.servlet.ServletException: No getter method for property Teacher.user of bean org.apache.struts.taglib.html.BEAN
看错误,首先他没找到你配置的TeacherForm,应该是add1.do 和你配置的/add1 对不上。
如果找到了TeacherForm,他会报
javax.servlet.ServletException: No getter method for property Teacher.user of bean app.TeacherForm
其次才是找不到属性Teacher.user 的getter方法。属性名仅为user ,前面的Teacher.不用
Top
15 楼zhaochunhui(没有烟抽的日子@漫漫长路.......)回复于 2006-09-04 15:34:32 得分 0
怎么能对不上呢? 我的 input.jsp中的 action="add1.do"
在struts-config.xml
中配置为
<action path="/add1" type="app.TeacherAction" name="TeacherForm" scope="request" input="input.jsp">
add1.do 和 path="/add1" 应该是对应的 这么写难道不对吗?
如果 我不用Teacher.java 而 用TeacherForm.java 直接提取表单中数据就可以
Top
16 楼jihanzhong(逍遥)回复于 2006-09-04 16:14:50 得分 0
汗~ 我仔细看了,刚才没仔细看,from的属性是一个对象啊!Top
17 楼jihanzhong(逍遥)回复于 2006-09-04 16:15:41 得分 0
没这么做过!建议不要这样Top
18 楼jihanzhong(逍遥)回复于 2006-09-04 16:19:13 得分 0
这样的话Teacher应该小写Top
19 楼alex9521(断--言)回复于 2006-09-04 16:36:22 得分 0
teacher不用去掉
小写
Top
20 楼zhaochunhui(没有烟抽的日子@漫漫长路.......)回复于 2006-09-04 16:42:27 得分 0
败了~!小写也是不好使的.
这么做有什么问题????Top
21 楼zhaochunhui(没有烟抽的日子@漫漫长路.......)回复于 2006-09-04 16:44:39 得分 0
to:jihanzhong(逍遥)
按你的意思就直接去读取 表单数据,那样做肯定是可以的,这么做 怎么能不好使呢Top
22 楼jihanzhong(逍遥)回复于 2006-09-04 16:46:59 得分 10
小写报什么错误? user换成name了吗?Top
23 楼zhaochunhui(没有烟抽的日子@漫漫长路.......)回复于 2006-09-05 08:35:04 得分 0
小写 也是报错的~!换成name 了 我把name 换了一下 也是不好使的
javax.servlet.ServletException: No getter method for property teacher.uname of bean org.apache.struts.taglib.html.BEAN
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.input_jsp._jspService(input_jsp.java:92)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
Top
24 楼jihanzhong(逍遥)回复于 2006-09-05 08:57:04 得分 20
怎么又写成uname了Top
25 楼zhaochunhui(没有烟抽的日子@漫漫长路.......)回复于 2006-09-05 09:05:38 得分 0
我怕 name 是关键字 就换了一下 结果还是不好使啊~!Top
26 楼zhaochunhui(没有烟抽的日子@漫漫长路.......)回复于 2006-09-05 09:08:07 得分 0
to jihanzhong(逍遥):
问个其他的问题 一个网站 并发 量 是由什么因素决定的,例如 多个用户同时对数据库操作就会很慢, 主要原因是不是web 服务器决定的??可以给些意见吗Top
27 楼zhaochunhui(没有烟抽的日子@漫漫长路.......)回复于 2006-09-05 09:35:18 得分 0
to jihanzhong(逍遥):
在不了 我在action 中写forward
必须用 success 或 failure
<action path="/add1" type="app.TeacherAction" name="TeacherForm" scope="request" input="input.jsp">
<forward name="success" path="/success.jsp"></forward>
</action>
我要换成别的 怎么找不到Top
28 楼benus_ying()回复于 2006-09-06 09:57:57 得分 0
没见过楼主这样写法的,所以不知道是否可以成功,估计
javax.servlet.ServletException: No getter method for property teacher.uname of bean org.apache.struts.taglib.html.BEAN是指没在form类中找到getTeacher.uname方法,struts并不会先找到getTeacher方法,然后获得teacher实例,再获得user吧.Top




