【问题标题】:Loading html head tag common files in jspjsp中加载html头标签常用文件
【发布时间】:2016-08-26 17:00:43
【问题描述】:

我是 Java 新手,我在 NetBeans 8 中设置了 Maven/Spring 4 环境。

在 PHP 和 ColdFusion 中,我将创建一个文件来加载 css 和 javascript 文件,并将该文件包含在所有视图中,以便进行一点更改。

我想在 Java 中做到这一点,但我不确定最佳实践是什么。我分别在 WEB-INF 下的资源目录和 css 和 js 文件夹中有文件。

我应该创建一个包含链接和脚本路径的 jsp 文件并将 jsp 文件包含在其他文件中,使用 xml 文件,两者的组合还是其他?

【问题讨论】:

  • 你可以使用<jsp:include page="common.jsp"/>
  • 这就是我要做的,但我想确保这是一种可接受且有效的 Java 实践。

标签: javascript java css jsp


【解决方案1】:

你有两个选择。

静态包括

静态包含相当于将代码复制粘贴到您调用它的页面中。这意味着静态包含将在当前页面上下文中执行。

<%@include file="page.html"%>

动态包含

动态包含是在它们自己的上下文中评估的请求,然后输出到您从中调用它的页面

<jsp:include page="page.html" />

由于动态包含是一个请求,你可以像这样发送参数

<jsp:include page="page.jsp">
  <jsp:param name="myVar" value="${someValue}"/>
</jsp:include>

【讨论】:

  • 太棒了!谢谢。我想验证这是一种可接受的 Java 实践。
【解决方案2】:

为了易于学习和运行在Jsp 中模板化组件,例如header bodyfooter,当您只开发页面更改时body 然后使用apache tile。是xml配置模板组合框架。

这里是tile.xml的sn-p

<definition name="base.definitions" template="/WEB-INF/page/layout.jsp">
    <put-attribute name="title" value=""/>
    <put-attribute name="header" value="/WEB-INF/page/include/header.jsp"/>
    <put-attribute name="menu" value="/WEB-INF/page/include/menu.jsp"/>
    <put-attribute name="body" value=""/>
    <put-attribute name="footer" value="/WEB-INF/page/include/footer.jsp"/>
</definition>

<definition name="login" template="/WEB-INF/page/loginlayout.jsp">
    <put-attribute name="title" value=""/>
    <put-attribute name="body" value=""/>
    <put-attribute name="footer" value="/WEB-INF/page/include/footer.jsp"/>
</definition>

我是否应该创建一个包含链接和脚本路径的 jsp 文件并将 jsp 文件包含在其他文件中

为此,您创建header.jsp 并包含所有jscss

Apache Tiles 将为您呈现这一切。

如果您没有那么多 jsp 页面,请在您的内容页面中使用 &lt;jsp:include page="header.jsp" /&gt;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-04
    • 1970-01-01
    • 1970-01-01
    • 2018-04-25
    • 1970-01-01
    • 2019-03-04
    • 1970-01-01
    相关资源
    最近更新 更多