加载页面时,是否可以执行JSF托管的bean操作?
如果相关,那么我目前正在使用JSF 1.2。
JSF 1.0 / 1.1
只需将所需的逻辑放入与JSF页面关联的请求范围的bean的构造函数中即可。
public Bean() {
// Do your stuff here.
}
JSF 1.2 / 2.x
@PostConstruct在请求或视图范围的bean上使用带注释的方法。将在构造和初始化/设置所有托管属性和注入的依赖项之后执行它。
@PostConstruct
public void init() {
// Do your stuff here.
}
如果您使用的是使用代理(例如CDI)的bean管理框架,则强烈建议在构造方法上使用此方法,因为在您期望的时间可能不会调用该构造方法。
JSF 2.0 / 2.1
或者,<f:event type="preRenderView">
在您打算基于进行初始化的情况下<f:viewParam>
,或者在将bean放置在比视图范围更广的范围时使用(这反过来表明存在设计问题,但在此范围之外)。否则,a@PostConstruct也很好。
<f:metadata>
<f:viewParam name="foo" value="#{bean.foo}" />
<f:event type="preRenderView" listener="#{bean.onload}" />
</f:metadata>
public void onload() {
// Do your stuff here.
}
JSF 2.2以上
或者,<f:viewAction>
在您打算基于进行初始化的情况下<f:viewParam>
,或者在将bean放置在比视图范围更广的范围时使用(这反过来表明存在设计问题,但在此范围之外)。否则,a@PostConstruct也很好。
<f:metadata>
<f:viewParam name="foo" value="#{bean.foo}" />
<f:viewAction action="#{bean.onload}" />
</f:metadata>
public void onload() {
// Do your stuff here.
}
请注意,String如果需要,这可以返回导航情况。它将被解释为重定向(因此您无需在?faces-redirect=true
此处)。
public String onload() {
// Do your stuff here.
// ...
return "some.xhtml";
}
我试图在页面加载时调用bean操作,bean在会话范围内注册。 我已经完成了这样的js:-document.getElementById('form1:show_data')。 我知道它可以通过调用bean构造函数中的操作来完成,但是在会话范围中,该操作只被调用一次。
托管bean它是一个纯Java类,它包含一组属性和一组,方法。 以下是托管bean方法执行的常见功能: 验证组件的数据 处理组件触发的事件 执行处理以确定应用程序必须导航的下一页 它也可以作为JFS框架的模型。 JSF托管Bean示例 请看看下面一段示例代码 - 您可以通过以下方式使用此。 通过配置成XML文件。 通过使用注释。 通过XML文件配置托管Bean 在xml文件配置是比较旧方法。 在这
问题内容: 我正在创建一个数据库设置jsf页面,该页面在页面加载期间显示属性文件中的值。然后,用户更新页面,然后按Submit,值将在属性文件中更新。 我遵循了Balusc提供的解决方案 在页面加载时调用JSF托管bean操作 并在支持bean的构造函数中设置值。 虽然我设法在页面加载期间从属性文件显示用户名。在页面加载期间,我无法显示password的inputsecret值。它保持空白。 页面
问题内容: 我是JSF的新手(2)。 在Struts中,我们可以从类似的URL调用动作。这将调用一个操作并返回一个结果页面,例如JSP(最初没有JSP / HTML)。 在JSF中如何做同样的事情?(我知道如何从.xhtml调用操作),即直接从URL调用托管bean并获取结果页面。 问题答案: 您要询问的模式并不是JSF工作方式的真正本机。 像Struts和Spring MVC这样的基于请求的框架
主要内容:使用XML配置,使用@ManagedBean注解JSF 托管bean(Managed Bean)是JSF注册的常规Java Bean类。托管bean包含getter和setter方法,业务逻辑。JSF托管bean作为UI组件的Model。 它存储JSF xhtml页面使用的数据。借助JSF框架,可以从JSF页面访问托管Bean。 在JSF 1.2中,我们必须在JSF配置文件(如)中注册受管理的bean。 从JSF 2.0可以使用注解注册管理be
我正计划将一个web应用程序从使用JSF托管bean转换为使用CDI托管bean。我知道我需要做以下工作: 在WEB-INF中添加空beans.xml文件。 将所有JSF@ManagedBean替换为CDI@Named Annotations。 用CDI或OmniFaces作用域注释替换所有JSF作用域注释。 将所有JSF@ManagedProperty替换为CDI@Inject Annotati