我正在使用建模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