使用struts 2动作传递参数

时间:2012-10-18 07:17:26

标签: struts2 parameter-passing struts-action

如何使用struts 2动作传递参数?。

这是我的代码。

<s:form>

    <s:select name="menuItem" list="menuItems" listKey="menuItemID"
        listValue="menuItemName" headerKey="" headerValue="--MenuItems--"
        cssClass="selectbox_bg2" id="select"
        onchange="handleChange(this.value)" />

    <s:textfield name="select_value" id="select_value" />

</s:form>

<script type="text/javascript">

function handleChange(value) {

    window.location = "callMyAction?ValueToSubmit=" + value;

}

</script>

我的问题是如何在我的动作类中获取此参数(值)。 并传递参数以返回jsp页面。

谢谢..

1 个答案:

答案 0 :(得分:1)

1只需使用public getter和setter

在您的操作类中创建“valueToSubmit”变量
public MyAction extends ActionSupport {

  private BigDecimal valueToSubmit;

  public String execute{
    ... some code.....
  }

  public BigDecimal getValueTOoubmit(){
    return valueToSubmit;
  }

  public void setValueToSubmit(BigDecimal valueToSubmit){
    this.valueToSubmit = valueToSubmit;
  }
}

Struts2 ParametersInterceptor将从请求中获取参数值,并自动将其设置为动作参数。

2要在动作结果jsp页面中读取此参数,只需使用一些struts标记

  <s:property value="valueToSubmit"/>, 
  <s:textfield name="valueToSubmit"/>, 
  etc..