Сохраняет ли Displaytag «тип носителя» на странице или атрибут запроса? - PullRequest
2 голосов
/ 07 мая 2010

Когда вы включаете «экспорт» из Displaytag, код тега дает вам ссылки со специальными магическими параметрами, которые тег распознает как индикаторы того, что содержимое таблицы следует экспортировать (как CSV, Excel, как угодно).Я заинтересован в определении типа носителя, чтобы (например) я мог исключить столбцы, которые не имеют смысла в экспорте (встроенные кнопки действий, например, или флажки для выбора строк).

IПредположим, я мог бы написать декоратор таблицы и использовать его для прикрепления типа медиа по запросу, но было бы неплохо избежать этого, если тег уже это делает.Документация не ясна по предмету;Я думаю, я тоже могу начать копаться в исходном коде.

Ответы [ 2 ]

1 голос
/ 09 мая 2010

Понятия не имею, так как я не использую Displaytag, но для дальнейшей отладки было бы полезно знать, что вы можете просто отобразить все эти атрибуты простой печатью ${pageScope} и ${requestScope} или зацикливая их, как это Map с использованием JSTL c:forEach.

<c:forEach items="${requestScope}" var="entry">
    ${entry.key} = ${entry.value}<br>
</c:forEach>

Это может закрепить интересующий атрибут Displaytag.

0 голосов
/ 22 июня 2012

Использовать параметр TableTagParameters.PARAMETER_EXPORTTYPE HTTP-запроса.

ActionBeanContext context; // in your action bean class ...

String exportTypeStr = context.getRequest().getParamter(TableTagParameters.PARAMETER_EXPORTTYPE);
if (String.valueOf(MediaTypeEnum.EXCEL.getCode().equals (exportTypeStr)) {
    /// user selected export to Excel format ...
}
...