按我的流程来,一条龙过
首先是依赖
<properties>
<struts2.version>2.5.16</struts2.version>
</properties>
<dependency>
<groupId>ognl</groupId>
<artifactId>ognl</artifactId>
<version>3.1.17</version>
<exclusions>
<exclusion>
<groupId>jboss</groupId>
<artifactId>javassist</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.28</version>
</dependency>
依赖更新基本就可以把程序跑起来了
下来是一些配置文件
strtus.xml
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<!-- 开启动态方法调用 -->
<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
struts2从2.5版本开始,为了提升安全性,默认开启了严格的方法调用。
如果要使用通配符*,必须在package中设置 strict-method-invocation="false",代码如下:
<package name="testcenter" extends="pem-police-testcenter" namespace="/"
strict-method-invocation="false">
<action name="exportLocalCard" class="com.zskx.pem.local5.normal.testcenter.web.action.SyncCardAction"
method="exportLocalCard">
</action>
</package>
web.xml
<filter>
<filter-name>struts2</filter-name>
<filter-
class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
如果JSP 页面 使用了 s标签的话 需要将 iterator 中的id属性改为 var
<s:iterator value="factorMap.keySet()" var="key" >
<td><s:property value="#detail.mapScore.get(#key)"/></td>
</s:iterator>
OK 启动项目测试看看吧