J2EE进阶(十二)SSH框架整合常见问题汇总(三)
来源:互联网 发布:怎么买淘宝小号 编辑:程序博客网 时间:2024/06/04 17:59
J2EE进阶(十二)SSH框架整合常见问题汇总(三)
问题16
在挂失用户时,发现userid值为空,但是在前台输入处理账号22时,通过后台输出可以看出,后台根据前端输入在数据库中查询到结果对象并输出该对象的userid,而且Guashi对象也获取到了其值。
解决
初步判定,程序没有问题,还是应该出在配置文件方面。对照视频,果然发现了端倪!在User.hbm.xml文件内,User与Guashi间的关系应如下:
<one-to-one name="guashi" class="cn.edu.ujn.model.Guashi" property-ref="user"></one-to-one>
在Guashi.hbm.xml文件内,Guashi与User间的关系应如下:
<many-to-one name="user" class="cn.edu.ujn.model.User" fetch="select" unique="true"> <column name="userid" /></many-to-one>
想要彻底搞懂这些问题,应深入了解Hibernate的数据表处理机制。
问题17
在应用拦截器拦截挂失用户时,出现了如下错误提示:
解决
拦截器内容如下:
由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的<debug/>标签显示的堆栈中查看,查找一下为什么为空吧。
一般情况可能是:
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.<div style="clear: both;">中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标签已经默认帮你加好了,你就不需要自己另外加了。
美文美图
- J2EE进阶(十二)SSH框架整合常见问题汇总(三)
- J2EE进阶(十)SSH框架整合常见问题汇总(一)
- J2EE进阶(十一)SSH框架整合常见问题汇总(二)
- ssh三框架整合
- J2EE进阶(六)SSH框架工作流程项目整合实例讲解
- SSH框架整合问题汇总
- 整合SSH框架及常见问题解决
- ssh框架三者整合
- SSH三大框架整合
- SSH 三大框架整合
- ssh三大框架整合-整合实例
- ssh三大框架常见问题总结
- 【OA】SSH进阶(6)——SSH框架整合
- 【j2ee spring】8、整合SSH框架(1)
- 【j2ee spring】9、整合SSH框架(2)
- 【j2ee spring】10、整合SSH框架(3)
- 【j2ee spring】11、整合SSH框架之添加一个成员
- 【j2ee spring】12、整合SSH框架(终结版)
- 数据关系图
- 难句解析
- 【Web开发原理】HTTP协议详解
- 统计学习方法概论
- Hspice仿真error:duplicated subckt definition 'nch_mac'
- J2EE进阶(十二)SSH框架整合常见问题汇总(三)
- hdu 4734 F(x)2013 ACM/ICPC Asia Regional Chengdu Online
- IT
- linux utf-8 windows gbk eclipse乱码
- JavaDoc注释
- 自定义字节流缓冲区read(),write()的特点
- HDFS的滚动升级: Rolling Upgrade
- Java Gradle入门指南之内建与定制任务类
- spring data redis 配置