2
我正在開發一個Struts 2.3應用程序。在該應用程序中,我從JSP調用一個靜態實用程序方法,該方法將HttpServletRequest
對象作爲參數,並在處理請求後返回字符串。當我嘗試使用JSP腳本,方法得到了調用與像適當的參數:請求對象沒有傳遞給在struts2中使用OGNL的靜態方法
<%
String resultStr = com.testapp.util.Utility.getResult(request);
%>
但是,當我試圖使用OGNL進行同樣的邏輯,方法得到了與空請求對象調用的參數,而不是像實際的請求對象:
<s:set name="resultStr" var="resultStr"
value="@[email protected](request)" />
我也OGNL但在這種情況下,方法並沒有被調用嘗試#request
而不是request
。
它已經配置。正如我所提到的,我可以使用OGNL調用靜態方法,但是我沒有在方法中傳遞'request'對象。它是空的。 –
你不需要它使用'ServletActionContext.getRequest()' –
我試過'HttpServletRequest request = ServletActionContext.getRequest();'而不是傳遞'request'對象,它工作:)感謝您的快速幫助!但是我仍然無法理解爲什麼'request'對象沒有作爲參數傳遞。 –