Я недавно начал использовать библиотеку 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"/>
<%}%>
Это не выдает никаких ошибок, но каждая строка по умолчанию соответствует столбцу гиперссылки. Я проверил, не было ли это ошибкой в моем условном выражении, но, увы, этого не произошло, создав фиктивную колонку и отобразив результат условного выражения, и я получил прекрасный набор истин и ложностей.
Я в недоумении по поводу того, почему второй метод не работает, поэтому я надеюсь, что у кого-то здесь есть какой-то лучший опыт с тегами отображения!
Спасибо!