2013-03-21 46 views
0

我想從查詢字符串傳遞ID到我的動作類,並且想要在我的動作類中使用該ID。我試圖:如何將值從querystring傳遞到struts2中的動作類?

<li> 
    <a href="NextPageData.action?recordID=sessionMap.get(recordID[0])">Next</a> 
</li> 

但我得到例外。我已將session列表添加到sessionMap,並希望從sessionMap中將該值作爲queryString參數進行檢索。 任何人都可以提供我解決這個問題的方法 謝謝。

+0

可以顯示代碼和異常 – PSR 2013-03-21 09:08:34

+0

使用''標籤。 – 2013-03-21 09:09:59

+0

爲什麼在動作中需要這個參數? – 2013-03-21 09:36:00

回答

0

如果您保留在會話中,則不需要再次發送請求參數。您可以直接訪問Action類中的該會話變量。

+0

不要這樣做。你的行爲不再是無國界的。如果用戶從不同的選項卡調用您的操作,則會產生混淆。 – 2013-10-10 15:31:31

0

一般來說,在Struts2請求參數,如果是在動作自動可供選擇:

  1. 您的行動具有相同名稱的變量的getter和setter(如int getRecordID()setRecordID(INT id)在你的情況下)
  2. 你有行動的攔截器堆棧中的ParametersInterceptor。 [1]

[1]見http://struts.apache.org/release/2.2.x/docs/interceptors.html

0

嘗試以下

<li> 
    <a href="NextPageData.action?recordID="+<s:property value="%{sessionMap.get(recordID[0])}/> >Next</a> 
</li> 

希望這段代碼可以幫助

-1

嘛,我不是一個Struts的專家,但我試過遵循我的Struts 2 Live項目並且工作正常。

String paramValue = ServletActionContext.getRequest().getParameter("paramName"); 
+0

你並不需要在S2中這樣做。這可能不是OP要求的。 – 2016-06-01 16:49:17

-1

只需將此代碼放在操作類中即可。

String paramValue = ServletActionContext.getRequest().getParameter("recordID"); 
+0

同上... – 2016-06-01 16:48:04

相關問題