jsp-struct2-传参 - struct2框架jsp页面传参失败
本文介绍了jsp-struct2-传参 - struct2框架jsp页面传参失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
jsp页面对象方式传参进action中,在action中定义了getter、setter方法,但是还是取不到值!
但是提示结果为空:
解决方案
有写form么?html页面中
修改答案:
在文件头添加 <%@ taglib prefix="s" uri="/struts-tags"%>
输入框写成 <s:textfield id="userid" name="user.userid"/>
写成类似这样的
继续修改答案:
运行你的项目我发现,在添加 flower 时候,控制台报错
Caused by: java.lang.IllegalStateException: Cannot convert value of type [com.xhydxs.action.AdminUserAction] to required type [com.xhydxs.entity.AdminUser] for property 'adminUser': no matching editors or conversion strategy found
可以发现是类型转化问题,为什么你会让 AdminUserAction 转化成 AdminUser 呢?于是我使用全局查找 AdminUserAction 和 AdminUser【用 Atom 编辑器】。终于让我发现!
applicationContext.xml 文件中:
<bean name="adminUser" class="com.xhydxs.action.AdminUserAction"
scope="prototype">
<property name="adminUserBiz" ref="adminUserBiz" />
</bean>
*.hbm.xml 文件中:
<many-to-one name="adminUser" class="com.xhydxs.entity.AdminUser" fetch="select">
<column name="UPD_OPR" length="20" not-null="true" />
</many-to-one>
发现了么?name 都是 adminUser,然而 class 分别对应着AdminUserAction和AdminUser。然后把 AdminUserAction 对应的name改掉就行了。。。。至于为什么上面这个错误会导致goods为null,因为你在Goods类里有一个AdminUser成员变量,导致struts就没法构建goods这个实例了>3<
这篇关于jsp-struct2-传参 - struct2框架jsp页面传参失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文