天天看點

使用Webwork Chain Result Type進行參數傳遞

 我們在struts action中如果要進行參數傳遞,隻能通過request,session,或者url參數的方式,但Webwork可以不通過這些,直接用action進行參數傳遞,這都歸功于一個全新的Result Type----chain

首先我們要配置china這個interceptor ref,幸運的是,completeStack中已經包裹了

Action:

使用Webwork Chain Result Type進行參數傳遞

package  ch7.example3;

使用Webwork Chain Result Type進行參數傳遞
使用Webwork Chain Result Type進行參數傳遞

import  com.opensymphony.xwork.ActionSupport;

使用Webwork Chain Result Type進行參數傳遞
使用Webwork Chain Result Type進行參數傳遞
使用Webwork Chain Result Type進行參數傳遞

public   class  TestOne  extends  ActionSupport  ... {

使用Webwork Chain Result Type進行參數傳遞
使用Webwork Chain Result Type進行參數傳遞

    private String username;

使用Webwork Chain Result Type進行參數傳遞
使用Webwork Chain Result Type進行參數傳遞

    public String execute() throws Exception ...{

使用Webwork Chain Result Type進行參數傳遞

        this.setUsername("gaoxiang");

使用Webwork Chain Result Type進行參數傳遞

        return SUCCESS;

使用Webwork Chain Result Type進行參數傳遞

    }

使用Webwork Chain Result Type進行參數傳遞
使用Webwork Chain Result Type進行參數傳遞

    public String getUsername() ...{

使用Webwork Chain Result Type進行參數傳遞

        return username;

使用Webwork Chain Result Type進行參數傳遞

    }

使用Webwork Chain Result Type進行參數傳遞
使用Webwork Chain Result Type進行參數傳遞

    public void setUsername(String username) ...{

使用Webwork Chain Result Type進行參數傳遞

        this.username = username;

使用Webwork Chain Result Type進行參數傳遞

    }

使用Webwork Chain Result Type進行參數傳遞
使用Webwork Chain Result Type進行參數傳遞

}

使用Webwork Chain Result Type進行參數傳遞
使用Webwork Chain Result Type進行參數傳遞
使用Webwork Chain Result Type進行參數傳遞

package  ch7.example3;

使用Webwork Chain Result Type進行參數傳遞
使用Webwork Chain Result Type進行參數傳遞

import  com.opensymphony.xwork.ActionSupport;

使用Webwork Chain Result Type進行參數傳遞
使用Webwork Chain Result Type進行參數傳遞
使用Webwork Chain Result Type進行參數傳遞

public   class  TestTwo  extends  ActionSupport  ... {

使用Webwork Chain Result Type進行參數傳遞
使用Webwork Chain Result Type進行參數傳遞

    private String username;

使用Webwork Chain Result Type進行參數傳遞
使用Webwork Chain Result Type進行參數傳遞

    public String execute() throws Exception ...{

使用Webwork Chain Result Type進行參數傳遞

        System.out.println(this.getUsername());

使用Webwork Chain Result Type進行參數傳遞

        return NONE;

使用Webwork Chain Result Type進行參數傳遞

    }

使用Webwork Chain Result Type進行參數傳遞
使用Webwork Chain Result Type進行參數傳遞

    public String getUsername() ...{

使用Webwork Chain Result Type進行參數傳遞

        return username;

使用Webwork Chain Result Type進行參數傳遞

    }

使用Webwork Chain Result Type進行參數傳遞
使用Webwork Chain Result Type進行參數傳遞

    public void setUsername(String username) ...{

使用Webwork Chain Result Type進行參數傳遞

        this.username = username;

使用Webwork Chain Result Type進行參數傳遞

    }

使用Webwork Chain Result Type進行參數傳遞
使用Webwork Chain Result Type進行參數傳遞

}

使用Webwork Chain Result Type進行參數傳遞

xwork.xml

使用Webwork Chain Result Type進行參數傳遞

   < default-interceptor-ref  name ="completeStack" ></ default-interceptor-ref >  

使用Webwork Chain Result Type進行參數傳遞

< action  name ="testone"  class ="ch7.example3.TestOne" >

使用Webwork Chain Result Type進行參數傳遞

     < result  name ="success"  type ="chain" > testtwo </ result >

使用Webwork Chain Result Type進行參數傳遞

   </ action >

使用Webwork Chain Result Type進行參數傳遞

   < action  name ="testtwo"  class ="ch7.example3.TestTwo" >

使用Webwork Chain Result Type進行參數傳遞

   </ action >

可以看到記過列印了gaoxiang,這個屬性是從TestOne傳到TestTwo的,怎樣,很友善吧

試想,如果是一個複雜對象,用webwork的這個機制是很容易實作的

繼續閱讀