struts1.x 升级到struts2的几点问题
来源:互联网 发布:下列属于视频压缩算法 编辑:程序博客网 时间:2024/05/17 07:54
最近将struts1.x+spring2+hibernate3 的环境下的struts1.x升级到 struts2,有些小问题,我将把问题记录下来
1, s:textfield 标签与struts1.x的标签差别大, 运行中生成html脚本时,s 标签会生成额外的 tr, td 标签, 需要添加theme=simple属性,才可以保持原来的页面布局
2, org.springframework.orm.hibernate3.support.OpenSessionInViewFilter失效,也就是lazy加载的对象在action中使用会出问题,就解决的办法很有意思,在web.xml中只要把OpenSessionInViewFilter 这个filter的配置放在struts org.apache.struts2.dispatcher.FilterDispatcher 的前面就好
3, s:form 标签中 action="myaction?param=123" 不行了,要改为action="myaction.do?param=123" (注:struts2 默认的action后缀是.action, 改为.do需要在struts.xml中加上一个配置:
<constant name="struts.action.extension" value="do" />
)
4,不需要encoding filter,只要在web.xml
添加配置<constant name="struts.i18n.encoding" value="GB2312"/>就可以很好的支持汉字,没有乱码
5, <s:select
list="groupUIList"
name="equipmentForm.groupId"
listKey="label"
listValue="value"
emptyOption="true"
cssClass="textbox"
theme="simple"
headerKey="0"
headerValue="请选择"/>
list="groupUIList" 指定的对象必须是collection/array/map/enumeration/iterator ,所以不能放在session或request的attribute里,因为放在session或pageContext都是以Object存放的.
6,radio的选中问题,使用ONGL方式,这个有意思
<s.radio name="user.sex" value="%{user == null || user.sex == null ? 'true' : user.sex}" list='#{"true":"男", "false":"女"}' required="true" />
7,使用struts2上传文件需要s:form 标签,开始我使用原始的html的form标签,结果上传文件总是为空,后来改为s:form标签,action里的file属性就有对象了,不知道背后的机制是什么?
1, s:textfield 标签与struts1.x的标签差别大, 运行中生成html脚本时,s 标签会生成额外的 tr, td 标签, 需要添加theme=simple属性,才可以保持原来的页面布局
2, org.springframework.orm.hibernate3.support.OpenSessionInViewFilter失效,也就是lazy加载的对象在action中使用会出问题,就解决的办法很有意思,在web.xml中只要把OpenSessionInViewFilter 这个filter的配置放在struts org.apache.struts2.dispatcher.FilterDispatcher 的前面就好
3, s:form 标签中 action="myaction?param=123" 不行了,要改为action="myaction.do?param=123" (注:struts2 默认的action后缀是.action, 改为.do需要在struts.xml中加上一个配置:
<constant name="struts.action.extension" value="do" />
)
4,不需要encoding filter,只要在web.xml
添加配置<constant name="struts.i18n.encoding" value="GB2312"/>就可以很好的支持汉字,没有乱码
5, <s:select
list="groupUIList"
name="equipmentForm.groupId"
listKey="label"
listValue="value"
emptyOption="true"
cssClass="textbox"
theme="simple"
headerKey="0"
headerValue="请选择"/>
list="groupUIList" 指定的对象必须是collection/array/map/enumeration/iterator ,所以不能放在session或request的attribute里,因为放在session或pageContext都是以Object存放的.
6,radio的选中问题,使用ONGL方式,这个有意思
<s.radio name="user.sex" value="%{user == null || user.sex == null ? 'true' : user.sex}" list='#{"true":"男", "false":"女"}' required="true" />
7,使用struts2上传文件需要s:form 标签,开始我使用原始的html的form标签,结果上传文件总是为空,后来改为s:form标签,action里的file属性就有对象了,不知道背后的机制是什么?
阅读全文
0 0
- struts1.x 升级到struts2的几点问题
- struts1和struts2的几点区别
- struts1和struts2的几点区别
- 从struts1.x到struts2.x
- struts2升级注意几点
- Struts1标签库如何升级到Struts2
- struts1.x和struts2.x的区别
- Struts1.x与Struts2.x的区别
- struts1.x 和struts2.x的区别
- Struts1.X与Struts2.X的区别
- Struts1.x和Struts2.x的区别
- struts1.x和struts2.x的区别
- Struts1.x 与 Struts2.x 的区别
- Struts2.x和Struts1.x的区别
- Struts2.x和Struts1.x的区别
- 开发Struts2 Web应用程序中与Struts1的几点不同
- struts2.0升级到struts2.1.6遇到的问题汇总
- 关于struts2.3.4升级到struts2.3.15.2的问题
- 本地宿主机与虚拟机linux互ping不通解决
- 使用LuaScriptCore来让Lua与iOS进行交互
- expressjs 与HTML
- SQL 2008 R2升级R2 SP1或者SQL 2008从10.50.1600升级10.5.2500详细过程全程图解 此博文包含图片(2012-05-02 20:33:05)转载▼ 标签: 10
- lua定长循环队列2
- struts1.x 升级到struts2的几点问题
- 微信小程序-消息提示框
- 1043. 输出PATest(20)
- 对话框取消置顶
- 关于js窗体的基础整合
- Failed to establish session Error while Installing APKs
- Android Resource介绍和使用(二)
- jsp 简易mvc模式
- webdriver中html节点的查找、定位