java - 使用 javax.servlet.RequestDispatcher.include() 时如何将参数传递给 .jsp 文件?

标签 java google-app-engine servlets

我使用模型/ View / Controller 风格构建 Web 应用程序,将传入的 HttpRequest 路由到用 Java 编写的 Controller Servlet,然后当 Servlet 完成时,让它使用 .jsp 文件渲染回 View 。 (这非常符合 Rails 风格。)

执行此操作需要在 Controller Servlet 末尾添加如下行:

getServletContext().getRequestDispatcher("/Bar.jsp").include(req, res);

主要问题是我想将参数传递给 Bar.jsp,就像它是我正在调用的函数一样。如果这是不可能的,我最终会在 Bar.jsp 的顶部放置大量 Java 来找出 Bar.jsp 渲染自身所需的所有内容,这相当难看。

其他 Web 框架提供了一种方法来执行此操作,因此似乎必须有一种方法可以使用 Servlet 来执行此操作。特别是我正在 Java Google App Engine 中工作。

最佳答案

你可以使用

request.setAttribute("attributeName",attributeValue);

在其他jsp文件中,您可以使用方法getAttribute(),如下所示

request.getAttributeNames();
request.getAttribute("attributeName");

关于java - 使用 javax.servlet.RequestDispatcher.include() 时如何将参数传递给 .jsp 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10136809/

相关文章:

google-app-engine - 如何在 GAE 的 sitebricks 方法中注入(inject)请求范围的 HttpSession?

java - 使用 Apache poi 时,ooxml-schemas-1.4.jar 和 poishadow-all.jar 中出现重复错误

java - 为什么JAVA在Install之后不直接把它的IL编译成Native代码?

java - 在 Google App Engine 的 VFS 中编译 JSP 文件

python - 如何最好地在 Google App Engine Python 上每 x 秒运行一次函数

Java 源而不是 Maven 目标目录中的类文件

Java 并发实践 “Listing 7.9. Interrupting a task in a dedicated thread.” 。预定 taskThread.interrupt() 的目的是什么?

java - 如何在Fragment中调用requestWindowFeature

java - Spring:根据配置文件注入(inject)不同的属性文件

tomcat - 为 Spring Boot 驱动的 Vaadin 应用程序启用服务器推送不起作用