当您从Displaytag中启用"export“时,标记代码会为您提供带有特殊魔术参数的链接,标记会将这些参数识别为应该导出表格内容的指示器(如CSV、Excel等)。嗯,我感兴趣的是检测媒体类型,以便(例如)我可以排除导出中没有意义的列(比如嵌入式操作按钮,或者用于行选择的复选框)。
我想我可以编写一个表格装饰器,并使用它将媒体类型粘贴到请求上,但如果标签已经这样做了,那么避免这种情况会更好。文档对这个主题不是很清楚;我想我也可以开始挖掘源代码了。
发布于 2010-05-09 05:13:37
我不知道,因为我不使用Displaytag,但是为了进一步的调试,知道你可以通过简单地打印${pageScope}
和${requestScope}
来显示所有这些属性,或者像使用JSTL c:forEach
的Map
一样循环它们,这可能是一件好事。
<c:forEach items="${requestScope}" var="entry">
${entry.key} = ${entry.value}<br>
</c:forEach>
这可能会确定您感兴趣的Displaytag属性。
发布于 2012-06-22 06:11:22
使用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 ...
}
https://stackoverflow.com/questions/2788730
复制相似问题