我有一個JSP頁面,它將HttpServletRequest和HttpServletResponse傳遞給一個Java類,該類根據名爲「action」的參數將請求和響應分派給一個動作類。動作類執行一些動作,有時會轉發到另一個JSP,其中重複相同的過程。如果你的想法我應該使用一個servlet,你的權利,但這是一個漫長的故事,基本上我也沒有權力。覆蓋JSP中的請求參數
在我的一個操作類中,我驗證數據,如果有效,請使用RequestDispatcher將請求轉發到另一個JSP。我還嘗試設置「action」屬性,以便我可以告訴其他JSP要執行的操作,但是我知道屬性不會隨請求一起轉發。事實上,我的代碼開始無限循環,因爲我正在執行相同的操作,原因是action參數不變,導致請求在action和jsp之間循環。
我發現我可以通過在新頁面的url中傳遞參數來覆蓋動作參數。像這樣:
RequestDispatcher dispatcher = request.getRequestDispatcher("someUrl.jsp?action=SOME_OTHER_ACTION");
dispatcher.forward(request, response");
這個解決方案給我發腥味。任何人都可以提供任何洞察這是否是一個好主意?
當你說我應該能夠看到請求參數,你的意思是屬性? – 2012-07-19 17:32:46
請求有參數和屬性。所以,你使用什麼。 – kosa 2012-07-19 17:34:31
我相信你只能設置屬性,沒有request.setParameter()方法。 – 2012-07-19 17:35:47