Servlet输出到JSP

时间:2011-03-12 06:45:47

标签: java jsp servlets

我正在JAVA中编写一个应用程序。需要有关菜单的建议。

我不想在每个JSP中复制用于菜单创建的代码。

我想创建一个名为menu.jsp的JSP并在那里创建菜单,并在需要菜单的地方执行动态包含<jsp:include... >

在我有静态菜单之前这很好。

现在,如何为动态菜单做到这一点。

我知道直接从JSP连接到DB是一种不好的做法。

所以我想做的是:

  • 创建一个servlet
  • 连接到DB并获取菜单项和显示顺序
  • 将上面创建的菜单刷新为jsp

所以,我的问题是如何在需要菜单的地方包含上面的JSP ???

4 个答案:

答案 0 :(得分:1)

我认为你需要的是一个模板系统。例如,尝试sitemesh。 如果您想真正使用可以帮助您实现良好实践的Java框架,我建议您使用grails

答案 1 :(得分:0)

您可以通过标记<jsp:include>包含servlet输出。但这是一个不好的做法。请参阅jsp tags而不是

答案 2 :(得分:0)

  1. 要使用该菜单,应用程序范围将生成的菜单放在会话或应用程序中[当且仅当菜单对每个用户都相同]

  2. 让我们说menu.jsp有生成菜单的代码,获取会话(或应用程序对象)并继续执行要求

  3. 最后使用或&lt;%@ include&gt;

  4. 调用menu.jsp

答案 3 :(得分:0)

添加菜单项,并将“renderMenu”布尔值作为请求属性。

然后包含menu.jsp并读取这些属性 - 如果renderMenu为false,则不输出任何内容。如果是真的 - 继续渲染项目(由servlet设置)