struts2中action的使用:1:定义action类。2:再struts.xml中配置action。
action不要求继承父类。但是一般会继承Action接口。目的是让开发action的类更为规范。
对一个表单对应多个action的实现可以:用οnclick=“”参数动态更改表单对应的action。
如:<form action="login"><s:submit key="regist" οnclick="document.forms[0].action='regist'"> 通过document.forms[0]得到当前第一个表格的表单。调出表单的action然后重定值为regist。这样就可以交给action为regist的处理。 onclick同时可以调用函数。例如将上面的语句写成一个函数:
function regist()
{
targetForm=document.form[0];
targetForm.action="regist";
}
然后οnclick=“regist();”进行函数调用。可以给函数加一个参数,然后对应更多的action。(没试验过,猜测是可以的。)
对于如果表单的action对应相同的处理类,而方法不同。可以将action映射到处理类。然后再在submit里面加入method的方法。
<s:submit key="regist" method="regist"><s:submit key="login“ method="login">
action要访问servlet可以通过ActionConext HttpServletRequest HttpSession ServletContext 等接口。
action将类内部的结果送入servlet供结果页面显示处理结果等也可以通过上面的接口。将数据放入session request application 范围中。然后servlet通过访问对应的范围来得到对应值。
在sturt.xml 中配置action:
<action name="" class="">
<!--action name指明你要给这样的处理过程取什么名字,class对应处理类,如果不是默认方法,要用method=""指出是对应类中的什么函数。-->
<result name="">*.jsp</result>
<!--result name对应处理函数处理后返回值,如果返回值与name指定的一样,那么就转到相应的页面*.jsp 所以result项可以有很多个-->
<result ``````
</action>