簡體   English   中英

如何從Struts1中的url中刪除'.do'前綴?

[英]How to remove '.do' prefix from url in Struts1?

我在Struts 1框架中編寫了一個Web應用程序。 一切正常,但在表單提交時,用戶被轉發到下一頁URL,顯示的是actionname.do 我不希望這個Struts 1在URL上有默認后綴。 而不是它我想在URL中看到頁面的名稱。 怎么做?

注意:我已經嘗試在web.xml編輯servlet映射。 已更換/*.do 但在這種情況下,即使我的索引頁面也無法打開。

  1. 打開/WEB-INF/web.xml
  2. 您必須找到org.apache.struts.action.ActionServletservlet-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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM