2012-10-18 59 views
0

如何用struts 2 action傳遞一個參數?用struts 2 action傳遞一個參數

這是我的代碼。

<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頁面。

謝謝..

+0

你試過'用request.getParameter( 「ValueToSubmit」);'? –

+0

這不是一個servelet或jsp ..使用struts.xml將動作轉發到動作類.. – jose

+0

我可以在標題中看到它。所以你說在Struts 2 Action中,你不能使用'request.getParameter(「..」)'? –

回答

1

1只是在動作類中創建「valueToSubmit」變量與公共getter和setter

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將得到要求的參數值,並將其設置爲行動parameer全自動。

2要閱讀的行動結果JSP頁面這個參數只是使用一些Struts標籤

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