2014-12-17 2 views
1

JSF2와 RichFaces 4.5.0을 사용되는 구성 요소 라이브러리로 사용하는이 스 니펫을 고려하십시오.rich : fileUpload가 전체 양식을 제출합니다.

// some non-relevant attributes are omitted  
<rich:fileUpload fileUploadListener="#{bean.uploadListener}"> 
     <a4j:ajax event="uploadcomplete" render="imagePanel" immediate="true" /> 
</rich:fileUpload> 

양식 내의 지정된 태그가 전체 양식을 제출합니다. 예를 들어, 이것은 나에게 기대되는 행동이 아닙니다. 구성 요소가 자체의 양식 속성 만 제출하고 RichFaces 3의 ajaxSingle 같은 다른 형식 값은 건너 뜁니다.

이 주제에 대한 조사를했지만 어떻게 결론을 찾지 못했습니다. 특히이 태그에 대한 실행 속성이 없기 때문에 fileUpload 구성 요소에 대한 부분 양식 제출을 관리하십시오. 다른 여러 jsf ajax 구성 요소와 같습니다.

이 경우 어떤 도움을 주셔서 감사합니다. 특히 fileUpload 구성 요소가 자체 양식 값만 서버에 제출하는 것을 관리하는 방법에 대해 감사드립니다.

+1

별도의 양식으로 입력 할 수 있습니다. 뭔가 망가 뜨린거야? – Makhiel

+0

파일 업로드 구성 요소가 단일 양식을 사용하는 UI에 통합되어 있기 때문에 불행히도이 방법은 우리에게 더러운 해결 방법 일뿐입니다. – DmiN

+0

누구나 해결책을 찾았습니까? –

답변

1

execute 속성을 시도하십시오. a4j:ajax 워드 프로세서

:

을 실행 ID를 요청 처리주기의 "실행"부분에 참여 요소. 단일 ID, 공백 또는 쉼표로 구분 된 Id의 목록 또는 EL식이 배열이나 Collection으로 평가 될 수 있습니다. "@this", "@form", "@all", "@none", "@region"과 같은 키워드는 식별자 목록에 지정할 수 있습니다. 일부 구성 요소는 추가 키워드를 사용합니다.

나는 그것이 정확히 당신이 필요하다고 생각합니다.

자세한 정보 : Richfaces docs

+0

나는이 문제를 인수 한 동일한 프로젝트를 진행하고있다. 테스트 목적으로 a4j : ajax를 완전히 제거하고 execute : "@ this"를 rich : fileUpload에 추가했지만 여전히 전체 양식이 제출됩니다. 이상하게도, 요청 URL에 대한 일반적인 요청 매개 변수로, 부분적인 Ajax 요청에 대해서는 POST 매개 변수로 사용하지 마십시오. – Roben

+0

'a4j : ajax'에'execute = "@ this"'를 추가해 보셨습니까? 또는'a4j : ajax' 대신'f : ajax'를 시도해 보셨습니까? – fonkap

+0

나는 a4j : ajax를 완전히 제거했다. 'rich : fileUpload' 자체가 요청 매개 변수로 전체 양식을 제출하게하는 Ajax 기반 업로드 (예상대로)를 수행합니다. 실제로 잘못된 이스케이프 또는 너무 긴 요청 매개 변수로 인해 서버 오류가 발생할 수 있습니다. 언급 된 동작을 명확하게 보여주는 디버깅을 위해 크롬의 네트워크 모니터를 사용했습니다. 나는 지금 PrimeFaces의 파일 업로드로 전환했는데 제대로 작동합니다. – Roben

관련 문제