2009-12-18 20 views
1

我最近開始使用DisplayTag庫,並且遇到了問題。使用JSP的條件列

我正在嘗試創建一個允許用戶鏈接到另一個頁面的列,如果該其他頁面實際上會顯示某些內容。我有它的設置,以便總是有一個超鏈接,但我有條件的麻煩。我有一個變量設置,可以是空的或其他東西(通常是成功的)。這是我到目前爲止已經試過......

<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> 

這種方法試圖在顯示屏中間使用JSP:列標籤,我最終得到一個未終止顯示:列標記錯誤。

接下來我想這...

<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"/> 
       <%}%> 

這並沒有拋出任何錯誤,但每一行默認爲超鏈接列。我測試了一下,看看這是否是我的有條件的錯誤,但是,事實並非如此,創建了一個虛擬列並顯示了條件的結果,並且我得到了各種各樣的trues和falses。

我不知道爲什麼第二種方法不起作用,所以我希望這裏有人對displaytags有一些更好的體驗!

謝謝!

回答

1

我結束了一個小的jsp做...下面的代碼...

<display:column titleKey="label.view" sortable="false" headerClass="sortable"> 
    <%if(!((ReportLog)pageContext.getAttribute("log")).getStatus().equals("empty")){ %> 
    <a href="pdfReportViewer.action?reportLogId<%=((ReportLog)pageContext.getAttribute("log")).getId()%>">View</a> 
    <%} %> 
</display:column> 
+0

這是非常醜陋的,但如果它適合你.. – Bozho 2009-12-28 10:48:12

2

有點難看,從我的頭頂:

<display:column property="reportName" titleKey="label.report" 
    href="${log.status != 'empty' ? pdfReportViewer.action : null}" 
    paramId="${log.status != 'empty' ? reportLogId : null}" 
    paramProperty="${log.status != 'empty' ? 'id' : null}" 
    sortable="true" headerClass="sortable"></display:column> 
+0

嗯,似乎聲音..我有機會試試看,謝謝! – Shaded 2009-12-18 21:04:22

+0

這不起作用,因爲日誌對象只有在display:column標記內時纔會更新,就像自答的答案中一樣。 – simon 2010-07-13 10:01:34