2

当您从 Displaytag 启用“导出”时,标签代码会为您提供带有特殊魔术参数的链接,标签将这些参数识别为应导出表格内容的指示符(如 CSV、Excel 等)。好吧,我有兴趣检测媒体类型,以便(例如)我可以排除在导出中没有意义的列(嵌入式操作按钮,一方面,或用于行选择的复选框)。

我想我可以编写一个表格装饰器并使用它来将媒体类型粘贴到请求上,但如果标签已经这样做了,最好避免这种情况。文件在这个问题上不清楚;我想我也可以开始挖掘源代码了。

4

2 回答 2

1

不知道,因为我不使用 Displaytag,但是为了进一步调试,最好知道您可以通过普通打印或循环显示所有这些属性,${pageScope}${requestScope} 好像它是Map使用JSTL c:forEach一样。

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

这可能会确定感兴趣的 Displaytag 属性。

于 2010-05-08T21:13:37.420 回答
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 ...
}
于 2012-06-21T22:11:21.907 回答