在此之前,我不使用Java或Struts,但我了解代码中发生的事情。当涉及到编写代码时,我一无所知。我正在使用KonaKart,他们使用struts tiles来显示布局。
以下是jsp代码片段:
<div class="siderBox noMargin">
<div class="siderBoxTop"></div>
<div class="siderBoxContent">
<tiles:insert attribute="leftTile1" />
</div>
<div class="siderBoxBottom"></div>
</div>根据当前页面的不同,leftTile1的值可能只是一个空页面(例如,这是leftTile5和leftTile6 ):
<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的页眉和页脚包装内容。
当前输出和我想要删除的内容的屏幕截图:

发布于 2011-12-28 07:22:29
未测试,但如果必须不显示任何内容,则可以将该属性定义为空字符串,而不是/WEB-INF/jsp/Empty.jsp,并在布局中使用以下代码:
<tiles:useAttribute name="leftTile1" id="leftTile1"/>
<c:if test="${!empty leftTile1}">
<div class="siderBoxContent">
<tiles:insert attribute="leftTile1" />
</div>
</c:if>发布于 2011-12-29 02:04:44
最终,这是可行的:
<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,它给我指明了正确的方向。
https://stackoverflow.com/questions/8649595
复制相似问题