0
我有一个动作类,我从jsp传递值,然后在动作类1中修改该值,然后由于动作链,另一个动作2被调用。 在行动2我得到的原始值struts 2获取同一对象的不同值的动作链
value= 100// in jsp action 1: value*10= 1000// action 1 go to action 2
我想修改的值去行动修改动作1 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";
}
}
这里有一个错字:'pSB.getvalue((pSB.getvalue()* 10));'应该开始智慧h'pSB.setvalue'当然,但这只是在创建问题,因为下一行的值不会是100 ......同样看到部分操作也很烦人。这是我想看到两个行动的获得者和制定者。这可能是简单的剪切和粘贴,否则人们会看到愚蠢的拼写错误,并告诉你这是错误的原因。 – Quaternion 2013-04-09 03:19:17