2011-12-28 5 views
0

내 응용 프로그램에서 사용자는 xls로만 다운로드 할 수 있습니다. 이제 아파치 포이 (poi poi)를 사용하여 수정하고 있습니다. 이전 스트럿 태그다른 스트림 유형에 대해 서로 다른 스트림 - struts2

<class="com.msl.mo.exporttoexcel.ExportToExcel"> 
    <result name="success" type="stream"> 
     <param name="inputName">fileStream</param> 
     <paramname="contentType">application/vnd.mexcel</param> 

     <param name="contentDisposition">filename="WOlist.xlsx"</param> 
     <param name="bufferSize">4096</param> 
    </result> 

나는 사용자가 다른 스트림을 사용하는 대화와 XLSX에 대한 XLS를 선택하면 다른 스트림이 사용되는 것을 싶어했다. 사전

+0

게시물에 서명하지 마십시오. 자세한 내용은 http://stackoverflow.com/faq#signatures를 참조하십시오. – Amy

답변

0

에서

덕분에이 작업을 달성하기 위해 다른 방법이있다.

다른 결과 유형을 만들고

<result name="xls" type="stream"> 
      <param name="inputName">fileStream</param> 
      <paramname="contentType">application/vnd.xls</param> 
      <param name="contentDisposition">filename="WOlist.xls"</param> 
      <param name="bufferSize">4096</param> 
</result> 

<result name="xlsx" type="stream"> 
      <param name="inputName">fileStream</param> 
      <paramname="contentType">application/vnd.mexcel</param> 
      <param name="contentDisposition">filename="WOlist.xlsx"</param> 
      <param name="bufferSize">4096</param> 
</result> 

처럼 스트럿 XML 파일을 구성하고 다른 설정할 수있는 액션 클래스에서 반환되는 결과 문자열을 기반으로 더 많은 결과 유형을 구성 할 수 있습니다 당신의 행동 클래스의 스트림과 다른 매개 변수의 값과 동적 값을 사용할 수 있습니다 이러한 모든 매개 변수 fileStream,contentType,filename,bufferSize이 액션 내에서 설정할 수 있습니다

<result name="success" type="stream"> 
      <param name="inputName">${fileStream}</param> 
      <paramname="contentType">${contentType}</param> 
      <param name="contentDisposition">${filename}</param> 
      <param name="bufferSize">${bufferSize}</param> 
</result> 

처럼 결과 구성을 죄 클래스가 사용자가 입력 한 값을 기반으로하면보다 유연하게 사용할 수 있습니다.

+0

감사합니다 umesh하지만 일단 브라우저에서 결과를 보내면 사용자는 보낼 스트림을 결정할 수있는 파일 유형을 선택할 수 있습니다. – user930412

+0

@ user930412 사용자가 파일 유형을 선택하더라도 작업면에서 어떤 종류의 작업이 필요하다고 가정하거나 클라이언트 측에서 모두 원한다고 가정합니까? 내 의견으로는 좋은 방법이 아니야 –

+0

네,하지만 파일 선택 옵션은 액션이 브라우저에 결과를 전달한 후에 만 ​​나오고, 그 후에는 액션이있는 프로그래밍 파워가 없습니다. 그렇지 않아? – user930412

관련 문제