#{person.name} 代表会取Person这个组件的name属性,需要在对应的action中用@in定义一个Person值域,从而注入Person. 同理@out指定输出字段
<h:dataTable value="#{fans}" var="fan">
<h:column>
<h:outputText value="#{fan.name}"/>
</h:column>
</h:dataTable>
相当于for each输出一个list
@in @out就是Bijection双射
@PersistenceContext private EntityManager em;
注入一个
EntityManager
,
EntityManager.persist()
保存实体
bean
为表中的一行
EntityManager.query()
运行类似
sql
的语句
调用jpa存储
如果action方法返回null ,将本页刷新,如果返回一个字符串,将会切换到navigation.xml中对应的页面
按ejb3
session bean的要求所有public的action方法需要在一个接口中定义 @Local
定义了@Name的POJO都可以做为一个组件,不限于ejb3.但就失去了一些ejb的优势
FacesMessages
可以访问
JSF
上下文中的
h:message
@in@out
也可以在
setter/getter
方法前定义