首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache Tiles If/Else

Apache Tiles If/Else
EN

Stack Overflow用户
提问于 2011-08-11 22:51:58
回答 2查看 5.9K关注 0票数 6

我想知道是否有可能在Apache Tiles 2(或引用Tiles属性的JSTL,这将适用于)中使用if/else。基本上,我想要这样:

代码语言:javascript
复制
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%>
<div>
    <!-- Some stuff here -->
</div>
<tiles:if condition="showSecondDiv == 'true'">
    <div>
        <!-- Some second stuff here -->
    </div>
</tiles:if>

Tiles XML中有<put-attribute name="showSecondDiv" value="true" type="string" />。这样做的动机是我想在很多地方重用这个JSP,有些地方想同时显示两个div,有些地方只想显示一个。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-11 23:09:57

使用JSTL

示例:

代码语言:javascript
复制
     <c:if test="${!empty tilesAdditionalTitle}">
       <fmt:param value="${requestScope[tilesAdditionalTitle]}"  />
     </c:if>
票数 4
EN

Stack Overflow用户

发布于 2017-10-24 12:57:11

您可以对if/else条件使用Tag importAttribute

layout.xml

代码语言:javascript
复制
<tiles-definitions>
    <definition name="base" template="/WEB-INF/view/template.jsp">
        <put-attribute name="header" value="/WEB-INF/view/header.jsp" />
        <put-attribute name="footer" value="/WEB-INF/view/footer.jsp" />
        <put-attribute name="sidebar" value="/WEB-INF/view/sidebar.jsp" />
        <put-attribute name="showSideBar" value="Y" />
    </definition>   
</tiles-definitions>

template.jsp

代码语言:javascript
复制
<body>
    <t:importAttribute name="showSideBar"/>

    <t:insertAttribute name="header"/><br/>

    <div class="uk-container uk-container-center">
        <div class="uk-grid">

            <c:if test="${showSideBar == 'Y'}">
                <div class="uk-width-1-3">
                    <t:insertAttribute name="sidebar"/>
                </div>
            </c:if>

            <div class="${showSideBar == 'Y' ? 'uk-width-2-3' : 'uk-width-1-1'}">
                <t:insertAttribute name="body"/>
            </div>
        </div>
    </div>

    <%@include file="/WEB-INF/view/common/loading.jsp"%>

    <t:insertAttribute name="footer"/>

</body>

如果不想显示,则在layout.xml文件中设置<put-attribute name="showSideBar" value=""/>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7028014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档