Struts2升级2.5.30的那些坑

Struts2升级2.5.30的那些坑,第1张

1.版本修改

将pom.xml 文件修改为2.5.30版本

<properties>   
	<struts2-version>2.5.30struts2-version>    
properties>
<dependencies>
	<dependency>
        <groupId>org.apache.strutsgroupId>
        <artifactId>struts2-spring-pluginartifactId>
        <version>${struts2-version}version>  
	dependency>
	<dependency>
		<groupId>org.apache.strutsgroupId>
		<artifactId>struts2-spring-pluginartifactId>
		<version>${struts2-version}version>
	dependency>
dependencies>
2.修改web.xml

把org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter 中的.ng 去掉 修改为

<filter>
	<filter-name>struts2filter-name>
	<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterfilter-class>
filter>
3.修改struts.xml

把原先的头部信息修改为:

DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd">
4.方法访问不到的问题(404)

需要在每个action配置文件中加上 strict-method-invocation=“false”
再加上

regex:.*
<package name="projectstruts" extends="struts-default" strict-method-invocation="false">
	<global-allowed-methods>regex:.*global-allowed-methods>
package>
5. 依赖冲突,版本问题

依赖冲突需要根据自己的项目引入的依赖来进行排除
举例:

版本问题:
我升级的时候有commons-lang3 版本问题
需要将版本升为3.8.1

<dependency>
	<groupId>org.apache.commonsgroupId>
	<artifactId>commons-lang3artifactId>
	<version>3.8.1version>
dependency>

其他问题没遇到,遇到的小伙伴可以在下方评论,帮助他人快速解决问题。

2022/04/20补充

6. 新版用法(HttpParameters)

老版本的是:

Map<String, Object> params = ServletActionContext.getContext().getParameters();

新版本的是:

HttpParameters params = ServletActionContext.getContext().getParameters();

在新版本如果想将HttpParameters转为Map 可以调用 toMap();方法,如下:

Map<String, String[]> stringMap = params.toMap();

或者遍历存入map ,如下:(提倡)

HttpParameters fileMaps = ServletActionContext.getContext().getParameters();
Map<String, Object> fileMap = new HashMap<>();
fileMaps.keySet().stream().forEach(new Consumer<String>() {
	@Override
	public void accept(String s) {
		fileMap.put(s, fileMap.get(s));
	}
});
File[] files = (File[]) fileMap.get(key);

若有错误,希望大佬指出。

对你有帮助给点个👍再走呗。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/729556.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存