2012-05-10 86 views
0

我在點擊表單按鈕之後發送請求給控制器servlet,它需要檢查用戶已登錄並按下了哪個按鈕。在Servlet中通過request.setAttribute()設置的值無法通過JSP中的request.getParameter()訪問

第一部分工作正常,但是當想要將結果設置爲參數並將請求轉發到JSP頁面時,參數「Button」始終返回null。 有人可以幫我理解爲什麼會發生這種情況嗎?也許有更好的方法來做到這一點?

的Servlet:

request.setAttribute("Buttons", "Add a new coupon"); 
request.getRequestDispatcher("/admin_main.jsp").forward(request,response); 

JSP:

if (request.getParameter("Buttons") != null) { 
    // ... 
} 
+1

你應該顯示一些代碼,以便錯誤跟蹤是可能的。 –

+2

請仔細閱讀JSP EL,並可能找到一個1999年沒有編寫的JSP教程。(我明白這說起來容易做起來難)雖然可以完成,但JSP並不是完成的「這種方式「今天。沒有理由。這本書其實並不算太壞。 http://www.theserverside.com/news/1369772/Free-Book-Servlets-and-JavaServer-Pages-The-J2EE-Technology-Web-Tier –

+0

感謝書鏈接...我開始閱讀它,但爲該課程項目的方式,我做的事情將不得不做... – moshe

回答

2

if(request.getAttribute("Buttons") != null)會工作。

信息:

始終執行一個request.getParameter()提取(通過發佈HTML形式發送數據即)請求參數。 request.getParameter()總是返回字符串值,數據來自客戶端。

始終使用request.getAttribute()來獲取在服務器端添加到請求範圍的對象,即使用request.setAttribute()

+0

感謝的人它完美地解決了我的問題:) – moshe