我在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>
答案 0 :(得分:2)
只需通过操作访问所有您的JSP(并将它们放在WEB-INF
以下的位置以强制执行此策略)。使用Struts2的“默认操作”很容易:
<action name="login">
<result>/WEB-INF/pages/login.jsp</result>
</action>
我不知道它与ServletFilter
的集成程度如何,也许您必须将web.xml中提到的那个转换为Struts2 Interceptor
。
答案 1 :(得分:1)
您可以使用属性文件更改网址扩展名,如下面的链接所示: