2010-10-20 77 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}