首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

Property 'title' not found on type org.apache.struts.action.DynaActionForm解决方案

2012-02-28 
Property title not found on type org.apache.struts.action.DynaActionForm练习DynaActionForm , stru

Property 'title' not found on type org.apache.struts.action.DynaActionForm
练习DynaActionForm , struts-config.xml中 <form-bean> 中信息是这样写的

XML code
<form-bean name="houseInfoDynaForm" type="org.apache.struts.action.DynaActionForm">               <form-property name="title" type="java.lang.String"/>                          <form-property name="cityId" type="java.lang.Integer"/>               <form-property name="streetId" type="java.lang.Integer"/>               <form-property name="rent" type="java.lang.Double"/>               <form-property name="room" type="java.lang.Integer"/>               <form-property name="hall" type="java.lang.Integer"/>               <form-property name="houseType" type="java.lang.Integer"/>               <form-property name="houseInfo" type="java.lang.String"/>               <form-property name="telephone" type="java.lang.String"/>               <form-property name="contactName" type="java.lang.String"/>    </form-bean>

对应的PostAction 配置中 , name 属性也修改为HouseInfoDynaForm 。
XML code
<action      name="houseInfoDynaForm"      path="/jsps/post"      type="org.zero.space.action.PostAction">      <forward name="login" path="/jsps/login.jsp" />      <forward name="confirm" path="/jsps/Confirm.jsp" />    </action>

在PostAction中的代码是这样写的
Java code
DynaActionForm houseInfoDynaForm = (DynaActionForm)form ;                HouseInfo houseInfo = new HouseInfo();        houseInfo.setContactName(houseInfoDynaForm.getString("contactName"));        houseInfo.setHall((Integer)houseInfoDynaForm.get("hall"));        houseInfo.setHouseInfo(houseInfoDynaForm.getString("houseInfo"));        houseInfo.setHouseType((Integer)houseInfoDynaForm.get("houseType"));                houseInfo.setRent((Double)houseInfoDynaForm.get("rent"));        houseInfo.setRoom((Integer)houseInfoDynaForm.get("room"));        houseInfo.setStreetId((Integer)houseInfoDynaForm.get("streetId"));        houseInfo.setTelephone(houseInfoDynaForm.getString("telephone"));        houseInfo.setTitle(houseInfoDynaForm.getString("title"));

运行后报错 , 主要的错误是这样的
Java code
严重: Servlet.service() for servlet jsp threw exceptionjavax.el.PropertyNotFoundException: Property 'title' not found on type org.apache.struts.action.DynaActionForm    at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:193)    at javax.el.BeanELResolver$BeanProperties.access$400(BeanELResolver.java:170)    at javax.el.BeanELResolver.property(BeanELResolver.java:279)    at javax.el.BeanELResolver.getValue(BeanELResolver.java:60)    at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)


我也是初学这点 , 就是没看出错误出在哪里

[解决办法]
houseInfo.setTitle(houseInfoDynaForm.getString("title"));改成houseInfo.setTitle(houseInfoDynaForm.get("title"));
[解决办法]
探讨


引用:
houseInfo.setTitle(houseInfoDynaForm.getString("title"));改成houseInfo.setTitle(houseInfoDynaForm.get("title"));


Java codehouseInfo.setContactName((String)houseInfoDynaForm.get("contactName"));


不行 , 这样的方式改过之后, 错误信息和上面的一样 。

热点排行