2012-01-26 5 views
2

전체 양식을 게시하지 않고 파일 업로드를 수행하려고합니다. 파일 업로드는 정상적으로 작동하지만 전체 양식이 제출됩니다. 유효성 검사가 올바를 때 제대로 작동합니다. 그러나 p. 필수 입력란이 비어 있습니다. 업로드가 작동하지 않고 오류 메시지가 반환됩니다 (필수 필드가 누락되었습니다). 그래서 파일 업로드 (ajax = true)를 시도했습니다. 그러나 업로드는 아무 것도하지 않습니다.jsf에서 ajaxified 파일 업로드

파일 업로드 및 다른 필드를 다른 형식으로 배치하는 작업을 시도했습니다. 이 작업은 가능하지만 결과적으로 파일 업로드를 수행 할 때 다른 필드에서 변경 한 데이터는 무시됩니다.

제안 사항? 그것은 (자바 스크립트의 핵심 아약스 요청 컨트롤러 객체 인) XMLHttpRequest의 첫 번째 버전으로 파일을 업로드 할 수 없습니다 수 입니다

<t:inputFileUpload id="fileupload" value="#{prospectDetail.upFile}" size="50" /> 
<h:outputLabel for="description" value="#{msg.prospectdetail_description}"/> 
<mw:inputText id="description" size="40" value="#{prospectDetail.fileDescription}" /> 
<p:commandButton styleClass="button" value="#{msg.common_upload}" action="#{prospectDetail.upload}" ajax="false" process="@form" onbegin="busyPopup.show()" oncomplete="busyPopup.hide();"/> 
+0

primefaces 업로드와 동일한 문제가 있었지만 파일 선택시 자동 업로드하도록 설정 했으므로 사용하는 구성 요소에 자동 업로드가 있는지 확인하십시오.이 문제는 제출 문제를 해결해야합니다. – Daniel

답변

3

:

여기 내가 사용하는 내 코드입니다. XMLHttpRequest의 두 번째 버전에서 지원되지만 <p:commandButton>에 의해 구현되지 않습니다 (현재는 브라우저 지원이 부족합니다).

이미 PrimeFaces를 사용하고있는 것처럼 보이지만 자체적으로 <p:fileUpload> 구성 요소를 사용하는 것이 어떻습니까? single upload 또는 심지어 auto upload 예제가 필요합니다 (PrimeFaces의 파일 업로드 필터를 추가 한 후 web.xml에서 MyFaces 확장 필터를 제거하는 것을 잊지 마십시오!). PrimeFaces의 <p:fileUpload>은 가능한 경우 자동으로 XHR2 파일 업로드를 사용합니다.

다른 형식으로 파일 업로드 및 기타 입력란을 올리는 작업을 시도했습니다. 이 작업은 가능하지만 결과적으로 파일 업로드를 수행 할 때 다른 필드에서 변경 한 데이터는 무시됩니다. 당신이 요청 범위 대신 뷰 범위에 콩을 넣고 액션 메소드에서 null 또는 void을 반환하는 경우

, 다음이 작동합니다.

+0

< p : fileUpload> rulez :) 이제 파일에 추가 필드 설명 (문자열)을 광고하고 파일 업로드 이벤트에서 Bean으로 보낼 수 있습니까? – roel

+1

어떻게 이것을 upvoted 수 있지만 받아 들일 수 있습니까? – Kawu

+0

죄송합니다. :) – roel