我对JSF有一些经验,想知道使用最佳实践构建带搜索功能的典型crud应用程序。特别是关于最后一个问题,我有一个表单,用户输入对象ID;我将所有实体都映射到了JPA和相关的facade会话bean。但在JSF页面中,我该如何读取参数,调用查找方法,然后显示对象属性呢?
我是否应该使用servlet获取对象并将其存储在请求范围内,并使用JSF EL访问它?
提前感谢您的回答。
@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);
}
}