pur*_*ger 4 java jsf jsp facelets
我正在为我的网站设计视图,该网站有一个标准的登录和登录页面,我希望为我的登录页面调用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的页面都会填充这个函数.那可能吗?
谢谢!
我至少可以想到两种方式:
定义标题部分<ui:define name="header">,并在其中放置一个javascript函数(function bodyLoaded(){..}) - 在每个页面上不同,然后通过它引用它<body onload="bodyLoaded();">
使用facelets params.即<body onload="#{onLoadJS}"/>每个页面包括模板使用<ui:param name="onLoadJS" value="document.getElementById(..)" />
| 归档时间: |
|
| 查看次数: |
15007 次 |
| 最近记录: |