質問

私は最近、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>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top