문제
최근에 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"/>
<%}%>
이것은 오류가 발생하지 않았지만 모든 라인이 하이퍼 링크 열에 기본값을 받았습니다. 나는 이것이 내 조건부에서 오류인지 확인하기 위해 테스트했지만 아아는 더미 열을 만들고 조건부의 결과를 표시하는 것이 아니었고, 멋진 구색의 트루와 허위를 얻습니다.
두 번째 방법이 작동하지 않는 이유에 대해 상실하고 있으므로 여기 누군가가 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