【发布时间】:2011-09-11 01:08:42
【问题描述】:
我正在尝试根据视图参数动态设置 HTML 标题元素(在 h:head 元素内)的值。我正在设置要在 preRenderView 系统事件中使用的值。我注意到在触发 preRenderView 事件之前正在评估获取标题的 EL!为什么会这样?有什么我可以做的吗?
如果我在页面某处的 h:outputText 中获取生成的标题值,它将按预期显示。
小脸:
<h:head>
<title>#{myBean.title}</title>
</h:head>
豆子:
public void preRenderView(ComponentSystemEvent event) {
title = "Person: " + firstname " " + lastname;
}
【问题讨论】:
-
无法在 Mojarra 2.0.3 或 2.1.1 上重现您的问题。你使用的是什么 JSF impl/version?
-
我使用的是 GlassFish 3.1,我认为 Mojarra 2.1 自带。
-
我上面给出的例子是一种简化——我实际上是在使用一个模板,这样我的每个页面都可以有自己的动态标题:
。也许这很重要?name="title" >插入> -
也无法在 GF 3.1 上重现。你究竟是如何调用
preRenderView? -
啊……你刚刚回答了我的问题!我最近将 preRenderView 移动到了一个空组件上的 preRenderComponent,这样 ajax 请求就不会触发 preRenderView 事件。这打破了动态标题!谢谢。让我知道如何给你积分,因为我是 StackOverflow 的新手。
标签: jsf-2