2012-05-15 2 views
0

JSF 페이지 중 하나에서 자바 스크립트를 사용하려고합니다. 죄송합니다.JSF의 자바 스크립트 - "body onload ="vs</redirect> 태그

<h:body onload="init('#{formBean.arrayAsString}')"> 

전혀 호출되지 않았습니다. 나는 탐색 케이스에 페이지를 탐색하는 태그를 추가/리디렉션하면 함수가로드된다는 것을 발견했습니다. 불행히도 네비게이션에서 formBean이 읽을 수 있도록 중요한 f : param을 전달하기 때문에 또 다른 문제가 발생합니다./redirect 태그를 사용하면 param 값을 더 이상 읽을 수 없습니다.

어떻게 리디렉션 태그를 사용하지 않고 javascript init 함수를로드 할 수 있습니까?

첫 .xhtml 페이지 :

<h:selectOneMenu id="selectMenu" value="#{indexBean.name_id}"> 
    <f:selectItems value="#{indexBean.myModelValues}" />  
    <f:ajax event="valueChange" render="button" execute="@this"/>  
</h:selectOneMenu> 
       <h:commandButton id="button" value="Go to form Browse" action="form"> 
        <f:param name="name" value="#{indexBean.name_id}" />          
       </h:commandButton> 

나는 아래의 탐색 방법을 게시 ... 리디렉션 PARAM 값하지만 내가 아는 한이 불가능합니다 : 아니면 어떻게 든 f를 전달할 수 있습니다

이 버튼은 ah : selectOneMenu의 ajax 이벤트로 다시 렌더링되어 선택된 값을 전달한다는 점에 유의하십시오.

그리고 네비게이션 경우 :

<navigation-rule> 
     <from-view-id>/index.xhtml</from-view-id> 
     <navigation-case> 
      <from-outcome> 
       form 
      </from-outcome> 
      <to-view-id> 
       /form.xhtml 
      </to-view-id> 
      <redirect/> 
     </navigation-case> 
     </navigation-rule> 

리디렉션 태그는 새로운있는 추가 기능에 자바 스크립트 초기화 기능을 사용할 수 있습니다.

+0

코드에 " Damian

+0

공간이없는 h : 본문입니다. –

+0

어떻게 탐색하고 있습니까? faces-config.xml에서 탐색 규칙을 사용합니까? 또는 action 메소드에서 String을 리턴하는 것인가? 또는 commandButton/commandLink action 속성을 사용합니까? – Damian

답변

2

조치가 ajax에 의해 호출되는 경우 발생합니다. 그것을 비 아약스 액션으로 만드십시오.


업데이트 : 질문 업데이트에 따라, <h:commandButton>에 의해 <a4j:commandButton> 교체가 아닌 아약스 작업을 확인합니다. 그런데 JSF 2에서 from 결과가 view ID와 이미 같으면 탐색 케이스가 더 이상 필요하지 않습니다. <navigation-rule> 전체를 제거하면 필요하지 않습니다.

+0

다른 것들을 바꿀 필요가 있었지만 정상적으로 작동합니다. BalusC - 큰 도움이되었습니다. –

+0

당신을 진심으로 환영합니다. – BalusC

관련 문제