2013-08-17 2 views
1

내 JSF 애플리케이션에서 페이지를 새로 고치면 모든 것이 렌더링되고 primeface 그래픽 이미지가 생성되고 jsf <f:ajax />이 작동하지 않습니다. 5 초를 기다리면 아약스 호출이 다시 작동하고 그래픽 이미지가로드됩니다.JSF가 동시에 모든 것을로드하지 않습니다

다른 예는 이미지를 업로드하는 경우입니다. 이미지가 처리되고 업로드되며 사이트가 새로 고쳐집니다. 이 후 이미지가 표시되지만 몇 초 후에 아약스 호출이 작동하지 않습니다.

응용 프로그램은이 느린 하드웨어 또는 뭔가 다른 문제가 JSF 2.1

와 제이 보스 7.1에서 실행됩니다. 나는 해결책을 찾을 곳이 정말로 알지 못하기 때문에 어떤 힌트도 기뻐할 것입니다.

예 :

<p:selectOneRadio id="options" value="#{gameWriter.uploadCover}"> 
    <f:selectItem itemLabel="ja" itemValue="true"/> 
    <f:selectItem itemLabel="nein" itemValue="false"/> 
    <f:ajax/> 
</p:selectOneRadio> 
+0

javaee 서버 로그에 오류가 있습니까? –

+0

@BuddhikaAriyaratne 정보 오류 수준이있는 JBoss 로그의 오류가 없습니다. –

답변

0

당신이 f를 정의 할 때 : 아약스, 당신은 실행하고 업데이트 할 UI 구성 요소를 제공하려고합니다. 또한 이벤트를 제공하십시오. 전체 양식을 처리하고 전체 페이지를 업데이트하려면 f : ajax에서 @form 및 @all을 사용할 수 있습니다.

fform : ajax가있는 @form 및 @all의 예는 다음과 같습니다.

<h:form> 
    <p:selectOneMenu id="cmb" value="#{investigationItemController.current}" > 
     <f:selectItem itemLabel="Please select an item" /> 
     <f:selectItems value="#{investigationItemController.items}" var="ii" itemLabel="#{ii.name}" itemValue="#{ii}" /> 
     <f:ajax event="change" execute="@form" render="@all"/> 
    </p:selectOneMenu> 
    <h:outputLabel id="lbl" value="#{investigationItemController.current}" /> 
</h:form> 

primeface ajax 명령의 예는 다음과 같습니다.

<h:form> 
    <p:selectOneMenu id="cmb" value="#{investigationItemController.current}" > 
     <f:selectItem itemLabel="Please select an item" /> 
     <f:selectItems value="#{investigationItemController.items}" var="ii" itemLabel="#{ii.name}" itemValue="#{ii}" /> 
     <p:ajax event="change" process="cmb" update="lbl"/> 
    </p:selectOneMenu> 
    <h:outputLabel id="lbl" value="#{investigationItemController.current}" /> 
</h:form> 

둘 이상의 이벤트에 대한 논리를 실행하려면 둘 이상의 UI 구성 요소를 추가 할 수 있습니다.

'on'으로 시작하는 UI 구성 요소의 속성 목록에서 'on'을 제거하면 표준 JSF UI 구성 요소의 이벤트를 가져올 수 있습니다. 예를 들어, JSF UI가 onChange를 속성으로 지원하면 event = "change"를 사용할 수 있습니다. primefaces UI 구성 요소의 경우, 가능한 이벤트가 Primefaces 문서 아래에 나열됩니다. 성공적인 아약스 응답을 위해서는 이벤트를 올바르게 선택해야합니다.

+0

답변 해 주셔서 감사합니다. 나는 그것을 시도 할 것이다. 제 문제는 아약스 호출이 작동하지 않지만 호출이 90 %의 시간 동안 작동하고 5 초 동안 위에서 설명한 두 가지 이벤트 이후에 작동하지 않는다는 것입니다. –

+0

나는 실행 및 렌더링 속성을 사용하지 않으면 아약스 응답이 없을 것이라고 생각했습니다. 코드에 포함시키지 않았는데도 간헐적으로 응답을 얻으므로, 여전히 가능한지 여부를 참조 할 것입니다. –

관련 문제