我正在使用建模Web應用程序的模型/視圖/控制器風格,將傳入的HttpRequest路由到以Java編寫的控制器Servlet,然後當Servlet完成後,讓它使用.jsp文件渲染回View。 (這是非常Rails的風格。)如何在使用javax.servlet.RequestDispatcher.include()時將參數傳遞給.jsp文件?
這樣做需要在控制器Servlet結束這樣一行:
getServletContext().getRequestDispatcher("/Bar.jsp").include(req, res);
主要的問題是我想參數傳遞給Bar.jsp剛就好像它是我所調用的函數一樣。如果這是不可能的,我最終會在Bar.jsp的頂部放置很多Java來找出Bar.jsp需要渲染的所有東西,這相當難看。
其他web框架提供了一種方法來實現這一點,所以似乎必須有一種方法來處理Servlet。特別是我在Java Google App Engine中工作。
您不能將JSP頁面作爲函數調用,因爲初始化和實例化的方式由Servlet Container完成。你可以做的是包含從JSP生成的響應,但不能作爲一種方法。如果您在JSP中調用JSP以外的成員參考創建,那麼我沒有看到任何挑戰。 – Phani 2012-04-13 07:30:03
您的回覆對我來說沒有任何意義。我希望.jsp文件以某種方式訪問Servlet創建的一些Java對象。 – Daniel 2012-04-13 07:41:23
您可以像Alonso Dominguez建議的那樣使用POJO,創建公共bean對象並將其作爲參數傳遞。 – Phani 2012-04-13 07:44:28