我有一个动作类,我从jsp传递值,然后在动作类1中修改该值,然后由于动作链,正在调用另一个动作2。 在行动2中,我得到原始值
value= 100// in jsp
action 1: value*10= 1000// action 1
go to action 2
我希望修改后的值转到操作2中i.e. 1000//
修改后的值{但是我得到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";
}
}
行动2:
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";
}
}
答案 0 :(得分: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类中的值,但未将其更新回会话