I create a bean as
@ManagedBean
@RequestScoped
public class KhachHangMB implements Serializable {
@PersistenceContext(unitName = "XoSoWebPU")
private EntityManager em;
private List<KhachHang> l;
public KhachHangMB() {
l = new ArrayList<KhachHang>();
}
@PostConstruct
public void init() {
l = new ArrayList<KhachHang>();
l = em.createNamedQuery("KhachHang.findAll").getResultList();
MsgShow.showMsg("", "Init " + Math.random());
}
public List<KhachHang> retriveAllKhachHang() {
return l;
}
}
And my jsf page:
<h:form>
<h1><h:outputText value="List"/></h1>
<h:dataTable value="#{khachHangMB.retriveAllKhachHang()}" var="item">
<h:column>
<f:facet name="header">
<h:outputText value="Idkh"/>
</f:facet>
<h:outputText value="#{item.idkh}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="TenKH"/>
</f:facet>
<h:outputText value="#{item.tenKH}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Cmnd"/>
</f:facet>
<h:outputText value="#{item.cmnd}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="DiaChi"/>
</f:facet>
<h:outputText value="#{item.diaChi}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="SoDT"/>
</f:facet>
<h:outputText value="#{item.soDT}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Email"/>
</f:facet>
<h:outputText value="#{item.email}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="MaDuThuong"/>
</f:facet>
<h:outputText value="#{item.maDuThuong}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="GhiChu"/>
</f:facet>
<h:outputText value="#{item.ghiChu}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="MatKhau"/>
</f:facet>
<h:outputText value="#{item.matKhau}"/>
</h:column>
</h:dataTable>
<h:commandLink value="Click" action="home" />
</h:form>
And my faces-config
<navigation-rule>
<navigation-case>
<from-outcome>trungthuong_list</from-outcome>
<to-view-id>/f_trungthuong/trungthuong_list.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
<navigation-rule>
<navigation-case>
<from-outcome>home</from-outcome>
<to-view-id>index.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
I click on command link the random was called but the data on page was not change although i have been edited data on database. Another case, i navigate to other page after that i return but the data is old (not using back of web browser, i’m using command link)! Please help me!
I think you should try setting the option
Shared Cache Modein the filepersistence.xmltoNone. This helped me to solve a problem similar to yours some time ago. 🙂