J2EE进阶(十二)SSH框架整合常见问题汇总(三)_jasperexception tag ‘select‘,field

在应用拦截器拦截挂失用户时,出现了如下错误提示:

解决

拦截器内容如下:

由console控制台输出内容可知,拦截器起作用了,但是在拦截器内部出现了问题。从List集合中获取到值之后,将其强转为Guashi类型后,获取其属性并未成功。经过一番查询,发现是由于在多对一数据关系设置时,未设置lazy=“false”,而其默认是设置为true的。详情见博文《org.hibernate.LazyInitializationException: could not initialize proxy - no Session》。

问题18

org.apache.jasper.JasperException: tag ‘select’, field ‘list’, name ‘flower.catalog.catalogid’: The requested list key ‘#catalog’ could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location]

解决

相应代码为:

<s:set value="#request.catalogs" id="catalog"></s:set>
<s:select label="分类" list="#catalog" listKey="catalogid" listValue="catalogname" name="flower.catalog.catalogid"
    	   value="%{#flower.catalog.catalogid}">
</s:select>

userlist为空(是否为空可以通过Struts2的标签显示的堆栈中查看,查找一下为什么为空吧。

一般情况可能是:

1、在Action类中没有给userlist变量生成get/set方法,

2、提交请求时并没有调用到对应的Action类,

3、userlist变量没有赋值成功(比如没有new、从数据库查询值的时候返回空等)

4、你的底层配置有问题(比如未导入jdbc包到项目)

1.

<action name="catalogAction" class="catalogAction" method="browseCatalog">
<result name="success">/menu.jsp</result>
</action>

在只有Struts框架时,class中的值为action所在包的全路径;在SSH整合框架及与Spring整合的框架中,其值可以为applicationContext.xml文件中配置的action的ID,然后依据其class属性确定其包所在类。如下所示:

<bean id="catalogAction" class="cn.edu.ujn.action.CatalogAction">
<property name="catalogService" ref="catalogService"></property>
</bean>

2.在jsp中,人民币符号:¥

3.

中clear: both;其具体应用详见博文《 网站开发进阶(四十二)巧用clear:both》。

4.数据类型Integer与int的区别:详见博文《Java进阶(三十四)Integer与int的种种比较你知道多少?》、《Java进阶(三十五)java int与integer的区别》。

5.<s:form action=“XX.action”> 与 <s:form action=“XX”> 的区别

如果不是用struts2的标签,是用html标签的话,就要在action名后加上个.action,也就是XXX.action。

如果使用struts2的标签的话,action名里就不用再加上个.action了。也就是XXX就可以了,struts2标签已经默认帮你加好了,你就不需要自己另外加了。

分享

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

  • 21
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值