2013-03-20 58 views
0

我想了解請求屬性的行爲方式。我已經在會議中設置了一些值,這給我帶來了很多問題。我將它們全部轉換爲請求屬性。struts中的請求屬性行爲

我有一個動作類,其中鑑於方法我已經建立了這樣的事情,當我點擊選項卡

 public ActionForward view(ActionMapping mapping, ActionForm form, 
      HttpServletRequest request, HttpServletResponse response) 
      throws Exception 
     { 
//... 
request.setAttribute("abc", abc); 
//... 
    } 

這一觀點方法被調用並顯示頁面。此頁面中還有另一個名爲「導出」的按鈕。我已經出口通話同樣的動作類,並調用一個名爲exportExcel方法如下:

public void exportExcel(ActionMapping mapping, ActionForm actionForm, 
     HttpServletRequest request, HttpServletResponse response) 
     throws Exception 
    { 
    if(request.getAttribute("abc")!=null){ 
     String def = (String)request.getAttribute("abc"); 
    } 
} 

假設我會得到請求參數。它沒有工作。另外,我不想在會話中設置這個變量。是否有任何解決方法可以在此exportExcel方法中獲取此請求屬性?

+0

我應該設置範圍=「請求」在struts配置? – JNPW 2013-03-20 16:05:25

回答

1

在您的jsp中,您需要創建name="abc"的隱藏輸入字段,並將其值設置爲abc請求屬性值。 這樣,當用戶點擊您的導出按鈕時,它將被提交回來。

如果您的導出按鈕是錨點,那麼您可以使用abc參數名稱/值來設置它的href

1

請求屬性僅在單個請求期間存在;這就是請求範圍的用途。如果你想要的東西,以堅持跨請求,保持它在會議

如果要重新創建一個新的要求東西,使用表單元素,URL參數等