如何在struts2-core 2.3.16.1上访问ServletRequestAware?

时间:2014-03-24 02:40:32

标签: servlets struts2 struts2-interceptors

我将struts2版本从2.3.14更改为2.3.16.1,似乎最新版本不再支持ServletRequestAwareServletResponseAware,我该怎么办?我在网上找不到任何东西。

<dependency>    
    <groupId>org.apache.struts</groupId>
    <artifactId>struts2-core</artifactId>
    <version>2.3.16.1</version>
    <type>jar</type>    
</dependency>

代码

 import org.apache.struts2.interceptor.ServletRequestAware;
 public class MyExample implements ServletRequestAware, ServletResponseAware { 

错误

package org.apache.struts2.interceptor does not exist.

当我试图找到它的依赖时,Maven显示最新版本的Struts2支持它是2.3.14!

2 个答案:

答案 0 :(得分:0)

Step 3 of Welcome to Struts2添加以下依赖关系到pom.xml

<dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts2-core</artifactId>
    <version>X.X.X.X</version>
</dependency>

检查文件版本X.X.X.X在存储库中可用并下载到您的硬盘驱动器。

答案 1 :(得分:0)

您的项目中包含的库可能存在一些问题;

  • 请务必清除类路径中的所有旧JAR(AS上的WAR / EAR和共享库;
  • 在IDE中运行Clean Project;
  • 从Maven下载Struts2.3.16.1或手动from here;
  • 查看

    上的ServletRequestAwareServletResponseAware界面
    /struts-2.3.16.1/src/core/src/main/java/org/apache/struts2/interceptor/
    

    ,他们之前的确切位置;)

例如,2.3.16.3分布的输出:

$ jar tvf struts2-core-2.3.16.3.jar | grep ServletRequest
223 Fri May 02 17:23:44 EDT 2014 org/apache/struts2/interceptor/ServletRequestAware.class

它也在2.3.16.1罐中。