티스토리 뷰

이 예제를 받아서 분석해 보시면, ajax와 struts를 이해하는데 큰 도움이 될 것 같아서 올립니다.

 

progress bar  상당히 깊은 곳까지 알어야 구현 가능함을 이 예제소스를 보고 느꼈습니다.

 

DWR 은 Ajax를 쉽게 이용할 수 있게해주는 유용한 라이브러리를 제공해 줍니다.

 

script에서 java class의 함수를 가져다 쓰는 놀라운 힘을 경험하실 것입니다.

 

여러가지로 응용해 볼 수 있을거라 생각합니다.

 

아직도 업로드시 temp file name을 지정하는 방법은 찾지 못했습니다.

 

struts 1.1 version 이하에서는 DiskMultipartRequestHandler로 temp file을 지정된 이름으로 지정할 수 있었던 것 같습니다.

 

그 이후 버전은 이 클래스가 deprecated되었습니다.

 

CommonsMultipartRequestHandler class를 분석한 결과는 temp file이름을 지정할 수 없었습니다.

 

본 예제소스는 MultipartRequestHandler interface를 구현해서 사용하고 있는데 , CommonsMultipartRequestHandler class와

 

큰 차이는 없습니다. FormFile class를 확장하여 사용하는 것은 눈여겨 볼 만합니다.

 

중요한 UploadMonitor 부분은 Thread로 구현되어 있습니다. Ajax에서 callback으로 주기적으로 실행되도록 되어있습니다.

 

UploadMonitor의 delayTime은 ExtendedMultipartRequestHandler의 handleRequest(request)에서 지정 가능합니다.

 

default max upload size는 250M로 지정되어있습니다.

 

여기서 의아한 부분은 default값을 ExtendedMultipartRequestHandler에서 지정하지 않고, struts_config.xml의 Controller element

 

에서 설정하지 않아도 default값은 250M이라는 것입니다.

 

이부분은 source를 약간 수정하면, 외부 설정파일에서 읽어올 수 있도록 변경가능할 것입니다.

 

첨부파일 용량제한이 (2M ㅡㅡ^ )라서 밑에 링크를 걸어둡니다.(source size: 5.06M)

 

예제 소스 사이트 : http://kencochrane.blogspot.com/2006/03/ajax-struts-file-upload-progress-meter.html

 

구글 검색어 : http://www.google.com/search?hl=ko&q=struts+file+upload+temporary+directory&lr=

 

DWR 사이트: http://getahead.ltd.uk/dwr/

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크