Struts2约定插件(m2eclipse / geronimo)

时间:2011-08-01 18:15:24

标签: struts2

使用convention-plugin似乎很容易,但我无法使其工作:(

我正在使用struts2版本2.2.3

我有一个名为com.medicis.actions的包,其UserAction扩展了ActionSupport。 我没有任何struts.xml文件 我在maven配置上设置了convention-plugin依赖项(我还检查了生成的war文件) 有我的web.xml:

<display-name>Starter</display-name>

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath*:applicationContext*.xml</param-value>
</context-param>

<!-- Filters -->
<filter>
    <filter-name>action2-cleanup</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
</filter>
<filter>
    <filter-name>sitemesh</filter-name>
    <filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>
</filter>
<filter>
    <filter-name>action2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
    <filter-name>action2-cleanup</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
    <filter-name>sitemesh</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
    <filter-name>action2</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

<!-- Listeners -->
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<servlet>
    <servlet-name>jspSupportServlet</servlet-name>
    <servlet-class>org.apache.struts2.views.JspSupportServlet</servlet-class>
    <load-on-startup>5</load-on-startup>
</servlet>

<!-- Welcome file lists -->
<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

</web-app>

我尝试使用和不使用init参数进行action2过滤:

<init-param>
   <param-name>actionPackages</param-name>
   <param-value>com.medicis.actions</param-value>
</init-param>

我在struts.propertie文件中设置了此属性:

  

struts.action.extension =动作

仍然无法使用localhost启动我的操作:8080 / starter / user.action:

  

没有针对命名空间/操作名称用户

映射的操作

我真的不知道出了什么问题,我甚至下载了一个没有任何结果的简单例子。

由于eclipse,m2eclipse,maven wtp或geronimo会出现配置问题???

如果您需要更多信息,请告诉我,我会尽快为您提供。

1 个答案:

答案 0 :(得分:1)

  1. 在“src”文件夹
  2. 中创建struts.properties
  3. 从下面复制并粘贴代码:

    struts.convention.package.locators = actions
    struts.convention.action.suffix = Controller
    struts.convention.action.mapAllMatches = true
    
  4. 在com.example.actions

  5. 中创建名为IndexController的类
  6. 从下面复制并粘贴代码:

    package com.example.actions;
    
    import org.apache.struts2.interceptor.validation.SkipValidation;
    import org.apache.struts2.rest.DefaultHttpHeaders;
    import org.apache.struts2.rest.HttpHeaders;
    import com.opensymphony.xwork2.ActionSupport;
    
    public class UserController extends ActionSupport {
    
        public String index(){
            return SUCCESS
        }
    
    }
    
  7. 您还需要在WEB-INF / content / user / index.jsp

    中创建jsp文件