我最近开始使用 DisplayTag 库,但遇到了问题。
我正在尝试创建一个列,如果该其他页面实际上有要显示的内容,则该列将允许用户链接到另一个页面。我已经设置好了,所以那里总是有一个超链接,但是我遇到了条件问题。我有一个变量设置,要么是空的,要么是其他的(通常是成功的)。这是我到目前为止所尝试的......
<display:table uid="log" pagesize="20" defaultsort="2" name="logs" class="displayTag" sort="list" requestURI="savedReports.action" >
<display:column property="reportName" titleKey="label.report" <%if(!((ReportLog)pageContext.getAttribute("log")).getStatus().equals("empty")){ %>href="pdfReportViewer.action" paramId="reportLogId" paramProperty="id" <%} %> sortable="true" headerClass="sortable"></display:column>
此方法尝试在 display:column 标记中间使用 jsp,我最终得到一个未终止的 display:column 标记错误。
接下来我尝试了这个...
<display:table uid="log" pagesize="20" defaultsort="2" name="logs" class="displayTag" sort="list" requestURI="savedReports.action" >
<%if(((ReportLog)pageContext.getAttribute("log")).getStatus().equals("empty")){ %>
<display:column property="reportName" titleKey="label.report" sortable="true" headerClass="sortable"/>
<%}else{ %>
<display:column property="reportName" titleKey="label.report" href="pdfReportViewer.action" paramId="reportLogId" paramProperty="id" sortable="true" headerClass="sortable"/>
<%}%>
这没有引发任何错误,但每一行都默认为超链接列。我测试了这是否是我的条件中的错误,但可惜不是,创建一个虚拟列并显示条件的结果,我得到了各种各样的真假。
我不知道为什么第二种方法不起作用,所以我希望这里有人对显示标签有更好的体验!
谢谢!