最近将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. **兼容性检查**:首先,你需要确认现有的应用是否与Struts 2.5.26兼容。升级前,检查所有依赖的库和插件,确保它们与新版本的Struts2兼容,因为某些旧的API...
针对2017年的Struts漏洞,开发者需要特别关注以下几点: 1. **漏洞原因**:主要问题在于OGNL(Object-Graph Navigation Language)表达式,它是Struts2用于动态数据访问和操作的内建语言。攻击者可以通过构造特殊的...
这个"j2ee学习struts2.x总结1"的主题着重于初学者如何理解和掌握Struts2的基础知识,以及如何进行环境搭建。下面将详细讨论相关知识点。 1. **Struts2简介**: Struts2是Apache软件基金会的一个项目,它是Struts1...
6. **持续关注安全公告**:即使升级到最新版本,也要定期关注Struts2的安全公告,以便及时响应新的安全问题。 综上所述,"struts2漏洞升级最新包2.3.15.1"对于维护一个安全、稳定的Java Web应用环境至关重要。通过...
值得注意的是,尽管Struts 1.2.9是一个稳定且广泛使用的版本,但随着技术的发展,Struts 1.x已被Struts 2取代。Struts 2提供了更多功能和改进,如更强大的表达式语言、更灵活的拦截器机制以及更好的与Spring等其他...
总的来说,Struts 2.3.34的升级涉及到一系列技术点,包括框架核心的更新、配置方式的变化、安全性和性能的提升,以及对API和插件的调整。在进行升级时,开发者需要充分理解这些变化,以确保应用的稳定性和安全性。
20. **维护与升级**:了解如何对已有的Struts 1.x应用进行维护和升级到更现代的框架,如Struts 2或Spring Boot。 21. **常见问题与解决方案**:针对Struts开发中常见的问题,提供解决方法和预防措施。 通过这个...
Struts 1.3.8 是一个非常重要的Java Web开发框架,由Apache软件基金会维护,主要用于构建基于MVC(Model-...因此,即使现在Struts已经发展到2.x甚至更现代的框架如Spring MVC,学习和理解Struts 1.3.8仍然是有价值的。
总的来说,升级Struts框架是一个涉及多个方面的过程,包括库整合、配置调整、环境兼容性以及代码修改等。通过仔细的规划和测试,可以有效地克服这些挑战,确保平滑地过渡到新的Struts版本,同时提升应用的安全性和...
在Struts 2.5.12中,开发者可以期待以下几个关键知识点: 1. **安全更新**:Struts 2.5.12 版本的主要目标是解决已知的安全问题。这可能包括但不限于OWASP Top 10中的SQL注入、跨站脚本攻击(XSS)和跨站请求伪造...
在IT行业中,构建一个基于Maven的Struts2简单应用是一个常见的任务,它涉及到Web开发中的几个关键组件。Struts2是一个流行的Java框架,用于构建MVC(模型-视图-控制器)架构的Web应用程序,而Maven则是一个强大的...
这个框架是Struts 1.x的升级版,引入了许多改进和新特性,提高了开发效率和代码的可维护性。 API(Application Programming Interface)是Struts 2.0.8的核心组成部分,它提供了与框架交互的一系列接口和类,使得...
- **定义与特点**:Struts2是一款基于MVC(Model-View-Controller)模式的Web应用程序框架,相较于Struts1.x版本有着根本性的变化。Struts2不仅吸取了WebWork的设计理念,还融合了Struts1的优点,并在此基础上进行了...
`struts1.x入门[修订版].doc`可能涵盖了以下几个方面: 1. **ActionServlet**:作为Struts的核心,处理HTTP请求并调用相应的Action。 2. **配置文件**:`struts-config.xml`用于定义Action、Form Bean、Action...
- **Struts2**:基于WebWork和Struts1.x的优点而设计的新一代Web框架。 2. **特点对比:** - **WebWork**相较于**Struts1.x**提供了更为灵活的配置方式,支持更丰富的数据类型转换及验证机制,并且采用了拦截器...
2. **掌握Struts2核心配置**:学习Struts2的配置文件(struts.xml)、拦截器、结果类型等关键组成部分。 3. **理解Spring DI/AOP原理**:研究Spring框架如何通过XML或注解方式实现依赖注入和面向切面编程。 4. **...
接下来是Struts2,它是经典的MVC框架Struts1的升级版,提供了更强大的动作调度、拦截器、结果类型以及插件架构。Struts2与Spring的整合允许开发者利用Spring的DI和AOP能力,进一步简化业务逻辑和控制层的开发。在...
A.JAX用于创建异步交互,Struts 1.X则提供了MVC的实现框架。 这些知识点构成了JAVA和Android开发的基础,对于想要深入这两个领域的学习者来说,这是一个全面且实用的学习资源。通过学习和实践,开发者可以构建功能...