Displaytag是否隐藏了页面或请求属性中的“媒体类型”?

时间:2010-05-07 13:08:12

标签: displaytag jsp

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

我想我可以编写一个表装饰器并使用它来粘贴请求中的媒体类型,但如果标签已经这样做,那就避免使用它。关于这个问题的文件不清楚;我想我也可以开始挖掘源代码了。

2 个答案:

答案 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 ...
}