我在Struts 1框架中编写了一个Web应用程序。一切正常,但在表单提交时,用户转发到下一页显示的网址是actionname.do
。我不希望这个Struts 1在URL上有默认后缀。而不是它我想在URL中看到页面的名称。怎么做?
注意:我已尝试在web.xml
中编辑servlet映射。已替换/*.do
。但在这种情况下,即使我的索引页面也无法打开。
答案 0 :(得分:2)
/WEB-INF/web.xml
servlet-name
的{{1}}和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>
更改为您想要的内容并重新部署该应用程序。
答案 1 :(得分:2)
修改web.xml
并更改*.do
<servlet-mapping>
<servlet-name>myapp</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
答案 2 :(得分:2)
在您的web.xml中,将网址格式*.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>
答案 3 :(得分:1)
您可以使用此映射
<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>