浏览 2192 次
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-05-12
在web.xml中定义的映射规则是 <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> (好像这种形式比较安全) 而在实际的页面中的一个请求是这样的: <html:form action="/adminCpasswd"> <html:hidden property="action"/> <tr> <td height="18" bgcolor="#FFFFFF"> <table width="100%" border="0" cellpadding="5" cellspacing="0"> ......(中间略,太长了) <tr> <td height="18" bgcolor="#FFFFFF"> <html:submit styleClass="BUTTN-FIX1"><bean:message key="bbscs.botton.submit"/></html:submit> <html:reset styleClass="BUTTN-FIX1"><bean:message key="bbscs.botton.reset"/></html:reset> </td> </tr> </html:form> 在struts-config.xml中的action-mappings如下: <action-mappings> ...(前后略) <action input="admin.cpasswd" name="adminCpaswdForm" path="/adminCpasswd" scope="request" type="com.laoer.bbscs.web.action.AdminCpasswd" validate="true"> <forward name="admincpasswd" path="admin.cpasswd" /> </action> ... </action-mappings> 问题就是既然在web.xml中的定义的映射规则是以.do结尾的请求才会交给action servlet处理,而我看到的往往都是上面这种形式的的action(如上面的action="/adminCpasswd"),并没有以.do结尾,却也能交给它处理,这是怎么事,要是这样也能处理,那不是几乎所有的相对路径形式的请求都会交到struts的action servlet去处理,那上web.xml中的映射定义不是没起到作用,能不能帮忙解释一下,到底什么样的请求会转交到struts去处理,谢谢! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-05-12
HTML:FORM标签是Struts自己的标签,所以不需要用.do结尾。如果是普通form标签,则必须加。
|
|
返回顶楼 | |