我在 Struts 1 框架中编写了一个 Web 应用程序。一切正常,但在表单提交时,当用户转发到下一页时,显示的 URL 是
actionname.do
。我不希望 URL 上有这个 Struts 1 默认后缀。相反,我想在 URL 中看到页面的名称。怎么办?
注意:我尝试在
web.xml
中编辑 servlet 映射。已将 *.do
替换为 /
。但在这种情况下,即使我的索引页也打不开。
在 web.xml 中,将 url 模式
*.do
替换为 /
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
/WEB-INF/web.xml
servlet-name
中的 org.apache.struts.action.ActionServlet
以及与 servlet-mapping
对应的 servlet-name
。例如:
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
最后,只需将
url-pattern
更改为您想要的并重新部署应用程序即可。
在
web.xml
中修改并更改*.do
<servlet-mapping>
<servlet-name>myapp</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
您可以使用此映射
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>/c/*</url-pattern>
</servlet-mapping>
然后使用 Tuckey URL rewriter 规则将其更改为
/*
<rule>
<from>^/(\w+)*/$</from>
<to>/c/$1</to>
</rule>