3

Struts Web アプリケーションで 2 つの URL を 1 つのサーブレットにマッピングしています。web.xml のコードの一部は次のとおりです。

<servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
      <param-name>debug</param-name>
      <param-value>3</param-value>
    </init-param>
    <init-param>
      <param-name>detail</param-name>
      <param-value>3</param-value>
    </init-param>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
    <url-pattern>*.mobile</url-pattern>
  </servlet-mapping>

問題は、フォームを送信するたびに、.mobile を url.for に追加していることです。たとえば、フォームが次のようになっているとします。

<html:form action="login.do">   
 <html:text property="name" />
 <html:submit >go</html:submit>                     
</html:form>

リクエストを送信しています:

http:myIp:8080/ProjectName/login.mobile

私の質問は、.do の代わりに .mobile を追加している理由です??それを解決する方法はありますか??

ありがとう。

4

1 に答える 1

0

拡張子 (.do/.mobile) を削除すると、

<constant name="struts.action.extension" value=","/> 
于 2014-04-18T15:41:53.853 に答える