2010-10-20 40 views
3

在我的jsp文件中,我通過request.getAttribute()從請求中提取數據。Jsp include,轉發請求參數

在這個jsp裏面我需要包含另一個jsp。這是否包含jsp可以訪問請求,還是需要以某種方式轉發數據?

+2

你試過嗎? – 2010-10-20 19:03:43

回答

6

這將是可用的:

  • 如果你正在做的靜態包括(<%@ include file=".." %>),則包含的文件的主體被放置到生成的servlet的doGet(..)方法(每個JSP被轉換爲一個servlet),因此在邏輯上,原始的request對象可以在那裏訪問。

  • 如果您正在做動態包含(<jsp:include>),則使用RequestDispatcher.include(..)(在場景後面)。正如你所看到的,它需要一個ServletRequest參數,這意味着原始請求被傳遞到那裏。

最後,避免在JSP文件中使用Java代碼。使用EL和JSTL。因此,而不是request.getAttribute("x")這將是${x}