无法在带有struts 2的tile中添加多个css文件

时间:2014-09-29 15:03:07

标签: css struts2 tiles

我正在使用框架struts 2并在Struts中使用Tiles来设计视图。但我得到一个错误,但没有解决它!虽然我在google上搜索了很多。

我已经提交了tiles.xml:

<tiles-definitions>
    <definition name="baseLayoutAdmin" template="/admin/BaseLayoutAdmin.jsp">
        <put-attribute name="title" value=""  />
        <put-attribute name="header" value="/admin/Header.jsp" />
        <put-attribute name="menu" value="/admin/Menu.jsp" />
        <put-attribute name="body" value="" />
        <put-attribute name="footer" value="/admin/Footer.jsp" />
        <put-attribute name="pageCss" type="strings" value="{'stylesheets/theme.css','lib/bootstrap/css/bootstrap.css','lib/font-awesome/css/font-awesome.css'}" />
        <!--<put-attribute name="cssTheme" value="stylesheets/theme.css" />
        <put-attribute name="cssbootstrap" value="lib/bootstrap/css/bootstrap.css"/>
        <put-attribute name="cssFont" value="lib/font-awesome/css/font-awesome.css"/>
        <put-attribute name="cssJquery" value="lib/jquery-1.7.2.min.js" type="strings"/>-->
    </definition>
    <definition name="/admin/index.tiles" extends="baseLayoutAdmin">
        <put-attribute name="title" value="Home Page News Online Manager" />
        <put-attribute name="body" value="/admin/index.jsp" />
    </definition>
</tiles-definitions>

在文件BaselayoutAdmin.jsp中,我使用了:

<s:set var="pageCssArray"><tiles:getAsString name="pageCss" /></s:set>
        <s:iterator value="%{#pageCssArray}">
            <s:set var="CurrentCss"><s:property/></s:set>
            <link rel="stylesheet" type="text/css" href="<s:url value='%{#CurrentCss}'/>" />
        </s:iterator>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title><tiles:insertAttribute name="title" ignore="true" /></title>

从tile中获取css文件。

但是当我部署项目时,会出现以下错误:

  

取消部署?路径= / NewsOnline
  OK - 在上下文路径/ NewsOnline上取消部署的应用程序
  在C:\ Users \ san \ Documents \ NetBeansProjects \ NewsOnline \ build \ web中进行就地部署   部署?配置文件=%3A%2FC%3A%2FUsers%2Fsan%2FAppData%2FLocal%2FTemp%2Fcontext5234232918126270598.xml&安培;路径= / NewsOnline
  失败 - 在上下文路径/ NewsOnline部署应用程序但上下文无法启动   C:\ Users \ san \ Documents \ NetBeansProjects \ NewsOnline \ nbproject \ build-impl.xml:1086:尚未部署模块。
  有关详细信息,请参阅服务器日志   建筑失败(总时间:1秒)

如果我删除:

<put-attribute name="pageCss" type="strings" value="{'stylesheets/theme.css','lib/bootstrap/css/bootstrap.css','lib/font-awesome/css/font-awesome.css'}" />

然后它工作正常。 我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

错误是由于文件(js,css,js)到admin中的文件夹(我定义为单独的管理员和用户文件)。如果你将它们留在网页文件夹之外,就不会发生错误!并且您不需要将css或javascript文件添加到另一个文件tiles.xml中。你可以将它们留在文件baseLayout.jsp文件继承它将接收css和js。我不擅长英语使用谷歌翻译希望人们同情!