JSF如何在第一个url上添加控件

JSF如何在第一个url上添加控件,jsf,Jsf,我必须在现有的JSF应用程序中实现一个新特性。 现在,有一个搜索对象的功能。正常流程是:提交表单后,填写一些表单参数,查看详细对象页面。 现在我必须找到一种方法,通过一个通过电子邮件到达的链接进入详细的对象页面。 在链接中有一些参数,对查找对象很有用,但是如果对象不存在,我会将用户转发到礼貌页面。 我该怎么办? 非常感谢在与视图关联的bean的构造函数或@PostConstruct方法中执行此工作,并使用rendered属性有条件地呈现页面片段/包含 @PostConstruct public

我必须在现有的JSF应用程序中实现一个新特性。 现在,有一个搜索对象的功能。正常流程是:提交表单后,填写一些表单参数,查看详细对象页面。 现在我必须找到一种方法,通过一个通过电子邮件到达的链接进入详细的对象页面。 在链接中有一些参数,对查找对象很有用,但是如果对象不存在,我会将用户转发到礼貌页面。 我该怎么办?
非常感谢

在与视图关联的bean的构造函数或
@PostConstruct
方法中执行此工作,并使用
rendered
属性有条件地呈现页面片段/包含

@PostConstruct
public void init() {
    someObject = someDAO.find(someParam);
}


你好,巴卢斯克,谢谢你的快速回答。我是按照你写的方式写的,它只适用于第一个链接。我的电子邮件中有几个链接,init方法只对第一个链接执行。你知道怎么办吗?提前谢谢。将bean放在请求范围内。它已经有了请求范围。我开始觉得我有一些配置问题。。。我的请求bean充当会话。你知道原因吗?这可能对其他人有用。我解决了将web.xml中的参数concurrentDOMViews设置为true的问题。com.icesoft.faces.concurrentDOMViews true
<h:panelGroup rendered="#{bean.someObject != null}">
    Found
</h:panelGroup>
<h:panelGroup rendered="#{bean.someObject == null}">
    Not gound
</h:panelGroup>
@PostConstruct
public void init() {
    someObject = someDAO.find(someParam);
    if (someObject == null) {
        FacesContext.getCurrentInstance().getExternalContext().redirect("notfound.jsf");
    }
}