[英]How to remove '.do' prefix from url in Struts1?
我在Struts 1框架中编写了一个Web应用程序。 一切正常,但在表单提交时,用户被转发到下一页URL,显示的是actionname.do
。 我不希望这个Struts 1在URL上有默认后缀。 而不是它我想在URL中看到页面的名称。 怎么做?
注意:我已经尝试在web.xml
编辑servlet映射。 已更换/*.do
。 但在这种情况下,即使我的索引页面也无法打开。
/WEB-INF/web.xml
org.apache.struts.action.ActionServlet
的servlet-name
和与servlet-name
对应的servlet-mapping
。 例如:
<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>
在你的web.xml中,用/
替换url pattern *.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>
您可以使用此映射
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>/c/*</url-pattern>
</servlet-mapping>
然后使用Tuckey URL重写器规则将其更改为/*
<rule>
<from>^/(\w+)*/$</from>
<to>/c/$1</to>
</rule>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.