首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Struts Tiles -获取属性

Struts Tiles -获取属性
EN

Stack Overflow用户
提问于 2011-12-28 05:42:14
回答 2查看 5.3K关注 0票数 3

在此之前,我不使用Java或Struts,但我了解代码中发生的事情。当涉及到编写代码时,我一无所知。我正在使用KonaKart,他们使用struts tiles来显示布局。

以下是jsp代码片段:

代码语言:javascript
复制
<div class="siderBox noMargin">
    <div class="siderBoxTop"></div>
    <div class="siderBoxContent">
        <tiles:insert attribute="leftTile1" />
    </div>
    <div class="siderBoxBottom"></div>
 </div>

根据当前页面的不同,leftTile1的值可能只是一个空页面(例如,这是leftTile5和leftTile6 ):

代码语言:javascript
复制
<put name="leftTile5" value="/WEB-INF/jsp/InformationTile.jsp"/>
<put name="leftTile6" value="/WEB-INF/jsp/Empty.jsp"/>

如果磁贴有一个空页面,那么框仍然会出现,而我只剩下所有这些空白框。有没有办法获得属性值而不显示瓦片(即:if(leftTile1.attribute!="/WEB-INF/jsp/Empty.jsp"){ //show the content; })?

最坏的情况是,我可以遍历所有30个jsp文件,并用tile的页眉和页脚包装内容。

当前输出和我想要删除的内容的屏幕截图:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-28 07:22:29

未测试,但如果必须不显示任何内容,则可以将该属性定义为空字符串,而不是/WEB-INF/jsp/Empty.jsp,并在布局中使用以下代码:

代码语言:javascript
复制
<tiles:useAttribute name="leftTile1" id="leftTile1"/>
<c:if test="${!empty leftTile1}">
    <div class="siderBoxContent">
        <tiles:insert attribute="leftTile1" />
    </div>
</c:if>
票数 7
EN

Stack Overflow用户

发布于 2011-12-29 02:04:44

最终,这是可行的:

代码语言:javascript
复制
<tiles:importAttribute name="leftTile1" scope="request" />
<logic:notEqual name="leftTile1" value="/WEB-INF/jsp/Empty.jsp">
    <div class="siderBox noMargin">
         <div class="siderBoxTop"></div>
         <div class="siderBoxContent">
              <tiles:insert attribute="leftTile1" />
         </div>
         <div class="siderBoxBottom"></div>
     </div>
</logic:notEqual>

谢谢你的帮助,JB,它给我指明了正确的方向。

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

https://stackoverflow.com/questions/8649595

复制
相关文章

相似问题

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