struts2框架中,form表单的action属性的几个问题

你提交一个表单到action的时候,为什么有的action要写成<form action="XXX.action">,后面的那个.action是什么意思?为什么要加上去?为什么用struts标签的时候就不用写呢?比如:<s:form action="XXX">。百度了也找不到答案,很多人就说struts会帮你把那个.action自动加上,那个.action到底是什么意思啊?

那个.action是后缀啊。类似于.html,.js。你也可以改成.html,或者干脆不要。那就没有后缀。当然这样的话,你也要做相应配置,一个web.xml里的过滤器,一个是strust配置文件要指定追问

web.xml里是用的/*,这样的话还要加.action吗?

追答

web.xml里是用的/*,其实web里的配置算是web项目的配置文件,与struts无关,但是所有请求都是web容器进行处理,struts作为一个框架需要这么一个入口,因此web.xml配置里有用过滤器或者配一个serlvet,而他们的处理类就是struts2提供的类,通过这个类由struts2进行处理。而strust2的配置文件就是针对struts2的了,他表示要对哪些后缀作处理。

看到这里你应该知道了,web.xml里用/*只是让所有请示都经过了struts2,而至于struts2处不处理,还得是struts2配置文件里指定的,你可以试一下,我记得他默认的就是.action和.do

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答