2011-01-24 1 views
1

버튼을 클릭하면 CSV 파일을 다운로드하려고합니다. 나는 다음과 같은 구현을 가지고 있지만, 내가 버튼을 클릭하는 순간, 나는 오류 때문에 직렬화이었다wicket 다운로드 csv "페이지가 만료되었습니다"오류

<a wicket:id="exportLink"><button class="button">Export</button></a> 
+0

그것은 나를 위해 작동하므로 문제는 아마도 다른 곳에있을 것입니다. – biziclop

+0

URL을 http : // localhost : 8010/myapp/wicket /? wicket : interface = : 4 : loggingForm : exportLink : 3 : IResourceListener :: http : // localhost : 8010/myapp/wicket? wicket으로 변경하면 : interface = : 4 : loggingForm : exportLink : 3 : IResourceListener :: wicket/after를 제거했습니다. – user373201

+0

@user, 최종 답변을 찾은 경우 대답으로 게시하고 승인 된 것으로 표시하십시오. – Pops

답변

0

을 다음과 같이

WebResource export = new WebResource() { 

     @Override 
     public IResourceStream getResourceStream() { 
      StringBuffer result = new StringBuffer(); 

      for(Person person: tmpList){ 
       result.append(person.toCSV()).append("\n"); 
      } 
      return new StringResourceStream(result, "text/plain"); 
     } 

     @Override 
     protected void setHeaders(WebResponse response) { 
      super.setHeaders(response); 
      response.setAttachmentHeader("person.csv"); 
     } 
    }; 
    export.setCacheable(false); 
    form.add(new ResourceLink("exportLink", export)); 

내 HTML 태그는 페이지 만료 메시지가 표시됩니다. 클래스 중 하나가 직렬화되지 않았습니다