webwork中类似struts的DispatchAction的使用方法。

 

在struts中我们习惯使用dispatchaction,传入method参数( http://www.xxxx.com/xxx.do?method=preAdd
来决定执行Action里面的哪个方法,从而把某个模块的诸如增、删、改、查等功能放在一个Action中处理,避免action类数量太多。
在webwork中类似的功能。
 
1,方法一:使用ActionMapper (关于ActionMapper 还有其他功能可以参见 http://wiki.javascud.org/display/ww2cndoc/ActionMapper
 
页面中写法:
    <ww:form name="login" ">
    <ww:textfield label="用户名" name="model.username" />
    <ww:textfield label="密 码" name="model.password" />
    <ww:submit name="method:Test" value="提交"/>
</ww:form>
 
注意红色部分的写法。这样提交之后将会调用login这个action里面的 Test( )或者doTest( )方法,而不是默认的execute( )。
login这个action里面写法:
 public String doTest() {
        System.out.println("ooooo================");
        loginInfo.setErrorMessage("测试而已!");
        return LOGIN_FAIL;
 
    }
 
2,方法二:直接在form 的action里面写
页面写法:
 
<ww:form name="login" action=" login!Test" method="post" validate="true">
    <ww:textfield label="用户名" name="model.username" />
    <ww:textfield label="密 码" name="model.password" />
    <ww:submit value="提交"/>
</ww:form>
 
login这个action里面写法和方法一一样。
 
 
进测试,两种方法效果一样。
 
希望对大家有点帮助。。。
 

你可能感兴趣的:(webwork中类似struts的DispatchAction的使用方法。)