问题描述
publicclassDataModelAction<T>extendsActionSupport{TdataModel;List<T>dataList;publicTgetDataModel(){returndataModel;}publicvoidsetDataModel(TdataModel){this.dataModel=dataModel;}publicList<T>getDataList(){returndataList;}publicvoidsetDataList(List<T>dataList){this.dataList=dataList;}}publicclassTestActionextendsDataModelAction<User>{privateStringsuccessPath;publicStringgetSuccessPath(){returnsuccessPath;}publicvoidsetSuccessPath(StringsuccessPath){this.successPath=successPath;}publicStringtest(){System.out.println(dataModel.getName());successPath="/success.jsp";returnSUCCESS;}}<body><s:formaction="Test_test"><s:textfieldname="dataModel.name"></s:textfield><s:submit></s:submit></s:form><s:debug></s:debug></body>报OGNL找不到setter方法。。救助
解决方案
解决方案二:
xzvxz
解决方案三:
自己顶下没人回答么?
解决方案四:
好像取的时候要用dataModel[i].name~感觉LIST的泛型不是很好处理
解决方案五:
有name的get、set方法吗?
解决方案六:
要不就写STRUTS2的iteratator标签循环
解决方案七:
该回复于2010-11-15 08:59:35被版主删除
解决方案八:
该回复于2010-12-02 14:39:37被版主删除
解决方案九:
这个是自然,你的TestAction中根本就没有dataModel的getter和setter.而且你的DataModelAction中的成员变量定义的是私有变量,子类虽然继承了父类,但是父类的私有成员变量并没有让子类给继承下来。struts2的过滤器去过滤你的TestAction的时候,就没有找到dataModel的getter和setter了