struts2.0.6 升级到 struts2.1.6 时应注意的问题汇总(转载)

最近在弄2.0升级到2.1的问题,关于这类的问题又很少,希望转载可以方便大家参考。

1. 升级 struts core 到 2.1.6
升级 各插件 到 smruts-x-2.1.x 版本
在 配置API 方面,2.0 和 2.1 有非常大的变化,适用于2.0的第三方插件可能不适合2.1。比如xwork

2. struts.xml 文件 语法的改变
结果返回类型和拦截器开始使用camelCase(驼峰写法)取代之前使用的hyphenated names(连接符写法)
Interceptors:
Old New
-----------------------------------------------------------
external-ref externalRef
model-driven modelDriven
static-params staticParams
scoped-model-driven scopedModelDriven
servlet-config servletConfig
token-session tokenSession

Results:
Old New
-----------------------------------------------------------

redirect-action redirectAction
plaintext plainText

3. Dojo 被 移为 第三方插件

4. 安全原因,jsp EL 取值方式 $ 不被继续支持。
应采用 ognl 表达式 取值, 如果是要展现 html,还应加上 escape="false"

5. 静态方法通过 ognl 反射调用 被 disabled, 安全原因。
通过表达式, 比如"@org.somewhere.FooUtls@fooMethod()"方式已被禁止。如要使用,改变语法,或者在配置中声明 struts.ognl.allowStaticMethodAccess 重新启用


6. 自定义 tag ,调用 valuestack, 不能再使用 el 表达式。 请查看 struts 2 的源代码,参照 s:set s:property 等的语法,来自定义 tag


7. 关于

<s:include value="a.jsp">
<s:param name="parame" value="p" />

</s:include>

在 a.jsp 中得到 parame 的方式

<% request.setAttribuate("parame", request.getParameter("parame")); %>

<s:set name="parame" value="#attr.parame" />

<s:property value="#parame" />


原文出处:http://hi.baidu.com/rtsbtx/blog/item/d40b4f2da2a3e03d349bf782.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值