隐藏struts2项目中的.jsp url扩展名

时间:2011-09-26 06:56:09

标签: struts2

我在struts2 web应用程序中工作。我想做我的网址映射,以便从网址中删除像“.jsp”这样的扩展名。 以下是我的web.xml的代码片段。我想这样做我的url show / login而不是/login.jsp。

<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
    <filter-name>URLFilter</filter-name>
    <filter-class>example.MyFilter</filter-class>
    <init-param>
        <param-name>onError</param-name>
        <param-value>/login.jsp</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>URLFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

2 个答案:

答案 0 :(得分:2)

只需通过操作访问所有您的JSP(并将它们放在WEB-INF以下的位置以强制执行此策略)。使用Struts2的“默认操作”很容易:

<action name="login">
    <result>/WEB-INF/pages/login.jsp</result>
</action>

我不知道它与ServletFilter的集成程度如何,也许您必须将web.xml中提到的那个转换为Struts2 Interceptor

答案 1 :(得分:1)

您可以使用属性文件更改网址扩展名,如下面的链接所示:

http://www.aoiblog.com/change-url-extension-in-struts2/