3

我在我的 struts Web 应用程序中用一个 servlet 映射两个 url,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>

问题是每当我提交任何表单时,它都会在 url.for 中添加 .mobile 假设表单是:

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

它正在发送请求到:

http:myIp:8080/ProjectName/login.mobile

我的问题是为什么要添加 .mobile 而不是 .do??他们有什么办法解决吗???

谢谢。

4

1 回答 1

0

也许删除扩展名(.do/.mobile)将有助于使用

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