質問
私は最近、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>
この方法は、ディスプレイの中央で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"/>
<%}%>
これはエラーをスローしませんでしたが、すべての行はデフォルトでハイパーリンク列になりました。私はこれが私の条件のエラーであるかどうかをテストしましたが、悲しいかな、そうではなかったので、ダミーの列を作成し、条件付きの結果を表示し、素敵なさまざまな聖歌と虚偽を手に入れました。
なぜ2番目の方法が機能しないのかについて私は途方に暮れているので、ここの誰かがdisplaytagsでより良い経験をすることを望んでいます!
ありがとう!
解決 2
私は小さな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>
他のヒント
私の頭の上から少し醜い:
<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>
所属していません StackOverflow