Vote count:
0
im a beginner with jsf2, primefaces and EJB and im making a back-end application , i succefully listed the database record on a datatable , and i made a command button in the front of each record on the datatable , so i can delete a row when i click on that button , but i made all the code but when i click on the button nothing happend here is the code . and thank youu.
the method in the EJB:
@Override
public void DeleteCitizen(Citizen citizen) {
Citizen detachCit = entityManager.merge(citizen);
entityManager.remove(detachCit);
//entityManager.remove(entityManager.merge(citizen));
}
the backing bean :
@ManagedBean
@SessionScoped
public class CitizenCtr {
private List<Citizen> citizens = new ArrayList<Citizen>();
private DataModel<Citizen> datamodel = new ListDataModel<Citizen>();
//the Model
Citizen cit = new Citizen();
//injection of the proxy
@EJB
CitizenServicesLocal citizenServiceLocal;
public List<Citizen> getCitizenss() {
citizens = citizenServiceLocal.ListAllCitizen();
return citizens ;
}
public DataModel<Citizen> getDatamodel() {
datamodel.setWrappedData(citizenServiceLocal.ListAllCitizen());
return datamodel;
}
public void setDatamodel(DataModel<Citizen> datamodel) {
this.datamodel = datamodel;
}
public Citizen getCit() {
return cit;
}
public void setCit(Citizen cit) {
this.cit = cit;
}
// Login operation
public String TryLogin()
{
String goTo = null;
Citizen citizenFound = citizenServiceLocal.Login(cit.getEmail(),cit.getPassword());
if(citizenFound!=null)
{
cit=citizenFound;
goTo="/CitizenProfile/Profile?send-redirect=true";
System.out.println("Welcome you are logged In ");
}
else
{
System.out.println("please enter valid data ! ");
goTo="/welcome?send-redirect=true";
}
return goTo;
}
//Subscribe operation
public String DoSubscribe(){
String Goto=null;
citizenServiceLocal.Subscribe(cit);
Goto ="/welcome?sendredirect=true";
return Goto;
}
//Update profile operation
public String DoUpdateProfile()
{
String Goto=null;
citizenServiceLocal.updateProfile(cit);
Goto ="/CitizenProfile/Profile?sendredirect=true";
return Goto;
}
//Logout operation
public String DoLogout()
{
String Goto="/welcome?sendredirect=true";
FacesContext.getCurrentInstance().getExternalContext().invalidateSession();
return Goto;
}
public Citizen GetAllCitizen()
{
List<Citizen> list ;
list= citizenServiceLocal.ListAllCitizen();
return (Citizen) list;
}
// Ban Operation
public void BanCitizen()
{
citizenServiceLocal.DeleteCitizen(cit);
}
}
and this is the jsf file :
<h2>Citizen Management</h2>
<p:link action="#{citizenCtr.BanCitizen()}" value="erase" >
<p:ajax update="mytable"></p:ajax>
</p:link>
<p:dataTable id="mytable" border="1" value="#{citizenCtr.datamodel}" var="citizen">
<f:facet name="header"> List of Citizens </f:facet>
<p:column>
<f:facet name="header">
<h:outputText value="CIN"></h:outputText>
</f:facet>
<h:outputText value="#{citizen.CIN}"></h:outputText>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Name"></h:outputText>
</f:facet>
<h:outputText value="#{citizen.firstName}"></h:outputText>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="LastName"></h:outputText>
</f:facet>
<h:outputText value="#{citizen.scondName}"></h:outputText>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Addess"></h:outputText>
</f:facet>
<h:outputText value="#{citizen.email}"></h:outputText>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Email"></h:outputText>
</f:facet>
<h:outputText value="#{citizen.password}"></h:outputText>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Password"></h:outputText>
</f:facet>
<h:outputText value="#{citizen.adresse}"></h:outputText>
</p:column>
<p:column>
<p:commandButton action="#{citizenCtr.BanCitizen()}" value="Ban" ajax="true" update="mytable" process="@this">
</p:commandButton>
</p:column>
</p:dataTable>
</h:body>
asked 1 min ago
Removing row from datatable
Aucun commentaire:
Enregistrer un commentaire