2010-05-07 1 views
2

Displaytag에서 "내보내기"를 활성화하면 태그 코드가 표 내용을 내보낼 표시기로 태그가 인식하는 특수 마법 매개 변수가있는 링크를 제공합니다 (CSV, Excel 등). 그래서 미디어 유형을 감지하는 데 관심이 있습니다. 예를 들어 내보낼 때 의미가없는 열 (임베디드 작업 버튼, 행 선택에 대한 확인란)을 제외 할 수 있습니다.디스플레이 태그가 페이지 또는 요청 속성에 "미디어 유형"을 숨기지 않습니까?

테이블 데코레이터를 작성하여 요청시 미디어 유형을 고수 할 수 있다고 가정하지만, 태그가 이미 그것을 수행하는 것을 피하는 것이 좋습니다. 주제에 관한 문서가 명확하지 않습니다. 나는 소스 코드도 파고 시작할 수 있다고 생각한다.

+0

@BalusC 우물쭈물하다. 멋진 생각이고, 생각하지 못해 밀도가 높다. – Pointy

+0

당신은 천만에요. 나는 그 대답을 대답으로 바꾸었다. – BalusC

답변

1

내가 Displaytag를 사용하지 않지만, 더 디버깅을 위해, 그것은 Map을 인 것처럼 그냥 ${pageScope}${requestScope} 인쇄 일반 또는 그 이상 반복하여 이러한 속성을 모두 표시 할 수 있다는 것을 알고 좋은 수 있기 때문에 아무 생각이 없다 JSTLc:forEach을 사용하십시오.

관심있는 Displaytag 속성을 제한 할 수 있습니다.

+0

다시 한번 감사드립니다! 실제로 "mediaType"이라는 페이지 범위 변수가 있습니다. 또한 더 이상 문서를 훑어 보면서 "column"태그가 이미 미디어 유형이 해당 열에 적합한지를 지정하는 "media"속성을 허용한다는 것을 상기 시켰습니다. – Pointy

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