以编程方式包含 JSP 页面

发布于 2024-10-09 04:40:40 字数 496 浏览 1 评论 0原文

我需要在 Tag 类中包含一个 JSP 页面。我相信使用 API 将 JSP 页面包含在另一个 JSP 页面中的标准方法是这样的:

request.getRequestDispatcher("included.jsp").include(request, response);

但是,我注意到包含的页面呈现在生成页面的顶部,无论代码位于何处。无论代码是放置在 Tag 类中还是直接作为 scriptlet 放置在 JSP 文件中,都是如此。另一方面, 操作按预期工作,呈现标记出现在 JSP 文件中的包含页面。

如何在类中包含 JSP 页面,使其行为与 相同?无法在 Tag 类中调用 操作,是吗?

I need to include a JSP page in a Tag class. I believe the standard way to include a JSP page within another JSP page using API is this:

request.getRequestDispatcher("included.jsp").include(request, response);

However, I noticed that the included page is rendered at the top of the generated page, no matter where the code is located. This is true whether the code is placed in a Tag class or directly in the JSP file as scriptlet. On the other hand, the <jsp:include> action works as expected, rendering the included page where the tag appears in the JSP file.

How do I include a JSP page in a class so that it behaves the same as the <jsp:include>? There's no way to invoke the <jsp:include> action within a Tag class, is there?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

怂人 2024-10-16 04:40:40

也许您的标记类应该在调用 request.getRequestDispatcher("included.jsp").include(request, response); 之前调用 pageContext.getOut().flush(); >

Perhaps your tag class should call pageContext.getOut().flush(); prior to calling request.getRequestDispatcher("included.jsp").include(request, response);

初吻给了烟 2024-10-16 04:40:40

我讨厌偷懒,但为什么不直接看一个 JSP 编译文件呢?例如,tomcat 将它们编译到 \work,您可以在那里查看它生成的 java。

I hate to be lazy, but why not just look at a JSP compiled file. for example, tomcat compiles these to \work, and you can VIEW the java it produced there.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文