struts2 默认只处理/* 和*.action。 所以在web.xml中,如果不加以说明。<url-pattern>标签只能填写*.action或/* 。如果想使用*.do, 则需要 在struts.xml中添加
<constant name="struts.action.extension" value="do"/> 或者action和do同时使用
<constant name="struts.action.extension" value="do,action"/>
struts.xml:
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="true"/>
<package name="default" extends="struts-default">
<action name="login" class="example.structtest" >
<result name="success">success.html</result>
<result name="error">error.jsp</result>
</action>
</package>
</struts>
web.xml:
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
index.xml:
<form action="login.action">
<input type="text" name="name"><br/>
<input type="text" name="age"><br/>
<input type="submit" name="submit" value="登录"><br/>
</form>