2010-03-03 3 views
4

표준 로그인 및 방문 페이지가 있고 내 로그인 페이지에 대해 onLoad 함수가 호출되도록하려는 사이트의 디자인을 디자인하고 있습니다. 내 다른 페이지에는 (아직) 없습니다. 나는이 삽입되어있는 template.xhtml 파일이있어 : login.xhtml에 다음다른 곳에서 정의 될 JSF 템플릿에서 onLoad 함수를 정의하는 방법

<div id="content"> <ui:insert name="content"/> </div>

을 나는이 :

<ui:define name="content"> ... </ui:define>

은 일반적으로 내가 login.xhtml에 넣고 것 :

<body onload="document.getElementById('login_form:name').focus();">

하지만 JSF의 UI 구성 태그를 사용하고 있기 때문에, 나는 할 수 없습니다 login.xhtml의 <body/> 태그 (적어도 내가 시도하는 방식).

내가 설명한 구조로이를 수행 할 수있는 방법이 있습니까? 내가 그것을하는 방법을 생각하는 템플릿에 함수를 호출 onLoad 것입니다 다음 ui : define 각 페이지에이 함수를 채 웁니다. 그게 가능하니?

감사합니다.

답변

7
나는 적어도 두 가지 방법을 생각할 수

:

  1. <ui:define name="header">와 헤더 섹션을 정의하고, 거기에 자바 스크립트 함수 (function bodyLoaded(){..}) 넣어 - 모든 페이지에 다른 한 다음 <body onload="bodyLoaded();">

    통해 참조
  2. facelets params를 사용하십시오. 나는. <body onload="#{onLoadJS}"/> 및 템플릿을 포함한 각 페이지에서 <ui:param name="onLoadJS" value="document.getElementById(..)" />

+0

감사합니다. # 2를 사용했습니다. – purecharger

관련 문제