我正在为我的网站设计视图,该网站有一个标准的登录和登录页面,我希望为我的登录页面调用一个 onLoad 函数,但不是为我的其他页面(目前)。我有一个 template.xhtml 文件,其中包含以下内容:
<div id="content">
<ui:insert name="content"/>
</div>
然后在 login.xhtml 我有:
<ui:define name="content">
...
</ui:define>
通常我会把它放在 login.xhtml 中:
<body onload="document.getElementById('login_form:name').focus();">
但是由于我使用的是 JSF 的 ui 组合标签,所以我不能<body/>
在 login.xhtml 中拥有该标签(至少我尝试这样做的方式)。
有没有办法用我描述的结构来完成这个?我想这样做的方法是让 onLoad 在模板中调用一个函数,然后每个带有 ui:define 的页面都会填充这个函数。那可能吗?
谢谢!