0

我有一个动作类,我从 jsp 传递值,然后在动作类 1 中修改该值,然后由于动作链,正在调用另一个动作 2。在行动 2 中,我得到了原始值

value= 100// in jsp action 1: value*10= 1000// action 1 go to action 2

我希望修改后的值转到操作 1i.e. 1000//中修改的操作 2 值。但我得到了10// i.e. original value.

你能告诉我该怎么做才能使用从操作 1 获得的值吗?

struts.xml

<action name="action1" class="vaannila.action.action1">
    <result name="success" type="chain">action2
    </result>
</action>
<action name="action2" class="vaannila.action.action2">
    <result name="success" type="dispatcher">result.jsp
    </result>
</action>

行动 1

public class action1 extends ActionSupport implements SessionAware{ 
    public String execute() throws Exception{
        System.out.println("original"+ pSB.getvalue() ); // getting 10
        pSB.getvalue((pSB.getvalue()*10));

        System.out.println("modified"+ pSB.getvalue() ); // getting 100 
                return "success";   
    }
}

行动二:

public class action2 extends ActionSupport implements SessionAware{ 
    public String execute() throws Exception{
        System.out.println("original"+ pSB.getvalue() ); // getting 10 instead of 100.
            return "success";   
    }
}
4

1 回答 1

1

改变动作1如下

public class action1 extends ActionSupport implements SessionAware{ 
public String execute() throws Exception{
    System.out.println("original"+ pSB.getvalue() ); // getting 10
    pSB.setvalue((pSB.getvalue()*10));

    System.out.println("modified"+ pSB.getvalue() ); // getting 100 
            return "success";   
}

错误是您已经计算了 action1 类中的值,但没有将其更新回会话

于 2013-04-09T06:58:31.643 回答