【问题标题】:Apache Tiles 2.1.4 with CSS带有 CSS 的 Apache Tiles 2.1.4
【发布时间】:2010-02-08 15:02:32
【问题描述】:

我正在使用带有 Spring MVC 3 的 Apache Tiles 2.1.4。我已经设法将它们一起配置,并且一切正常。我的下一步是添加 CSS,这就是我遇到问题的地方 - 这很可能是一个简单的问题,但我无法让我的模板 jsp 获取 css。

来自我的 tiles-defs.xml 的片段

<definition name="baseLayout" template="/WEB-INF/tiles/baseLayout.jsp">
  <put-attribute name="title"  value="Template"/>
  <put-attribute name="header" value="/WEB-INF/tiles/header.jsp"/>
  <put-attribute name="styles" value="base.css"/>
  <put-attribute name="subheader"   value="/WEB-INF/tiles/subheader.jsp"/>
  <put-attribute name="menu"   value="/WEB-INF/tiles/menu.jsp"/>
  <put-list-attribute name="bodyItems">
      <add-attribute value="/WEB-INF/tiles/body.jsp"/>
  </put-list-attribute>

来自我的模板 jsp (baseLayout.jsp) 的片段

<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/WEB-INF/css/displayTagTable.css"/>

来自我的 CSS 的片段:

body {
background-color: red;

}

我尽量让 css 保持简单,只是为了检查我的 jsp 是否获取 css 文件。

我还检查了我的 css 文件是否在正确的位置 - 但我的 jsp 文件没有拾取 css 文件。有人可以帮忙吗?

任何帮助将不胜感激。

谢谢, 扎汉希尔

【问题讨论】:

    标签: css apache model-view-controller spring tiles2


    【解决方案1】:

    WEB-INF 中的文件不直接通过公共 URL 提供。 Spring 和 Tile 能够以编程方式间接提供来自 WEB-INF 的 JSP 文件。

    您能否尝试将 css 目录移动到 WebContent 并更新您的 &lt;link&gt; 标签的 href 属性?

    在你完成这项工作后,我有一个建议。如果您在 JSP 的顶部包含此页面指令,则可以使用 Tiles 标记:

    <%@taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles"%>
    

    如果需要,这允许您将 CSS 路径作为属性存储在 tiles-defs.xml 中,并使用标记从 JSP 中检索它:

    <link type="text/css" rel="stylesheet"
        href="<tiles:getAsString name="IDENTIFIER_HERE"/>"/>
    

    您的 CSS URL 将替换 tiles 标记。您可以在多个 Tiles 定义中使用此 CSS 路径。

    其余的 Tiles 标签记录在这里:Tiles Tag Reference Sheet

    【讨论】:

    • 如果我有多个 CSS 怎么办?
    猜你喜欢
    • 1970-01-01
    • 2013-08-25
    • 1970-01-01
    • 2014-07-05
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 2011-06-25
    • 2023-03-27
    相关资源
    最近更新 更多