JSF和JPA最佳实践

时间:2011-02-11 13:28:05

标签: jsf jpa

我对JSF有一点经验,我想知道构建具有搜索功能的经典crud应用程序的最佳实践。特别是我对最后一个有疑问;我有一个用户输入对象id的表单;我用jpa和相关的facade会话bean映射了我的所有实体。但是在jsf页面中如何读取参数,调用finder方法然后显示对象属性? 我应该使用一个获取对象的servlet并将其存储在请求范围内并访问该eith JSF EL吗?

提前谢谢

1 个答案:

答案 0 :(得分:4)

您不需要servlet。只需在托管bean中通过@EJB注入会话门户/ EJB,然后在bean操作方法中调用它,然后在结果页面中以通常的JSF / EL方式显示它。

查看:

<h:form>
    <h:inputText value="#{bean.search}" />
    <h:commandButton value="search" action="#{bean.submit}" />
</h:form>
<h:panelGroup rendered="#{not empty bean.result}">
    <p>#{bean.result.someProperty}</p>
</h:panelGroup>

型号:

@ManagedBean
@RequestScoped
public class Bean {

    private String search; // +getter +setter
    private Data result; // +getter

    @EJB
    private DataFacade dataFacade;

    public void submit() {
        result = dataFacade.find(search);
    }

}