如何在JSF模板中定义将在别处定义的onLoad函数

我正在为我的网站设计视图,该网站有一个标准的登录和登录页面,我想要为我的登录页面调用onLoad函数,但不是我的其他页面(尚未)。 我有一个template.xhtml文件,它有这个插入:

然后在login.xhtml我有:

...

通常我会把它放在login.xhtml中:

但由于我使用的是JSF的ui组合标签,因此我无法在login.xhtml中使用标签(至少我试图这样做)。

有没有办法用我描述的结构来实现这一目标? 我想这样做的方法是让onLoad调用模板中的一个函数,然后用ui:define的每个页面都会填充这个函数。 那可能吗?

谢谢!

我至少可以想到两种方式:

  1. 使用定义标题部分,并在其中放置一个javascript函数( function bodyLoaded(){..} ) – 在每个页面上不同,然后通过引用它

  2. 使用facelets params。 即并在包含模板的每个页面上使用