当您从Displaytag启用“导出”时,标记代码会为您提供带有特殊魔术参数的链接,标记会将这些参数识别为应导出表格内容的指示符(如CSV,Excel等)。好吧,我有兴趣检测媒体类型,以便(例如)我可以排除导出中没有意义的列(嵌入式操作按钮,一方面,或行选择复选框)。
我想我可以编写一个表装饰器并使用它来粘贴请求中的媒体类型,但如果标签已经这样做,那就避免使用它。关于这个问题的文件不清楚;我想我也可以开始挖掘源代码了。
答案 0 :(得分:1)
不知道,因为我不使用Displaytag,但是为了进一步调试,可能很高兴知道您可以通过简单打印${pageScope}
和${requestScope}
或循环显示所有这些属性在他们身上使用Map
JSTL就好c:forEach
。
<c:forEach items="${requestScope}" var="entry">
${entry.key} = ${entry.value}<br>
</c:forEach>
这可能会确定感兴趣的Displaytag属性。
答案 1 :(得分:0)
使用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 ...
}