07-指明Action类的执行方法

我们前面在Action类中的执行方法默认是execute,其实我们action如果要执行不一定执行execute方法,我们可以通过设置struts.xml指定method属性来设置我们要执行的action类的方法。

<package name="default" namespace="/"  extends="struts-default"> 
    <action name="index" class="cn.bamn.struts.HomeAction" method="demo">  
        <result name="success">
            /demo.jsp
        </result>          
    </action>  
</package>Code language: HTML, XML (xml)

然后action类中增加一个demo方法

public class HomeAction extends ActionSupport {
	
    public String demo(){
        return "success";
    }
}Code language: PHP (php)

另外如果有更多的action的时候我们可能要继续添加多个action配置。这样会让人疯掉的。

幸亏struts提供另外一个动态方法调用。

比如我们现在后台模块中有一个分类管理的功能。那么我们可以这样配置,注意下面的result是区分大小写的。

<package name="admin" namespace="/admin"  extends="struts-default"> 
    <action name="category" class="cn.bamn.struts.CategoryAction">  
        <result name="index">
            /admin/Category/index.jsp
        </result>
        <result name="add">
            /admin/Category/add.jsp
        </result>
        <result name="del">
            /admin/Category/del.jsp
        </result>
    </action>  
</package>Code language: HTML, XML (xml)

然后我们添加一个CategoryAction 并且添加三个方法

package cn.bamn.struts;

import com.opensymphony.xwork2.ActionSupport;

public class CategoryAction extends ActionSupport {
	
    public String index(){
        return "index";
    }
	
    public String add(){
        return "add";
    }
	
    public String del(){
        return "del";
    }
}Code language: JavaScript (javascript)

然后再webroot下面的admin里面添加一个category目录 然后添加三个jsp文件

分别是add.jsp index.jsp del.jsp

然后我们可以直接一个action配置通过

http://p50:8080/Struct6Demo/admin/category!del

http://p50:8080/Struct6Demo/admin/category!add

http://p50:8080/Struct6Demo/admin/category!index

后面的!号后面的就是categoryaction类中的三个方法。 随便加方法 一个action 多个result。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注