2016-07-12 24 views
1

Ich möchte den Datenlisten nach der Bearbeitung eines Elements aktualisieren. Ich habe @Postconstruct verwendet, um die Daten zu initialisieren, aber vergebens.Datenliste wird nach der Bearbeitung nicht aktualisiert

Der folgende Code-Anzeige eine Datenliste:

<h:form> 

    <p:dataTable widgetVar="developpeur" value="#{manageUrlSiteTestBean.sitewebs}" var="dev" style="margin-bottom:20px"> 
<f:facet name="header"> 
Les tests de la website url </f:facet> 

    <p:column headerText="titre"> 
#{dev.title} 
</p:column> 


<p:column> 
<p:commandButton value="edit" update=":form"> 
    <f:setPropertyActionListener target="#{manageUrlSiteTestBean.siteweb}" value="#{dev}"></f:setPropertyActionListener> 
    <f:setPropertyActionListener target="#{manageUrlSiteTestBean.form}" value="true"></f:setPropertyActionListener> 
</p:commandButton> 
</p:column> 
</p:dataTable> 
</h:form> 

Der zweite Teil des Codes eine Form ist, die für die Bearbeitung

<h:panelGrid id="form"> 

<h:form rendered="#{manageUrlSiteTestBean.form}" > 
<p:panel header="Modification"> 
<h:panelGrid columns="1"> 

<p:outputLabel value="Name" id="lcin"/> 
<p:inputText id="cink" value="#{manageUrlSiteTestBean.siteweb.title}" required="true" > 
</p:inputText> 

    </h:panelGrid> 
<p:commandButton value="Validate" action="#{manageUrlSiteTestBean.validate()}" /> 
    </p:panel> 
    </h:form> 
</h:panelGrid> 

und den folgenden Code ausgewählten Daten abruft wird die Träger bean

@ManagedBean 
@ViewScoped 
public class ManageUrlSiteTestBean implements Serializable{ 

    public ManageUrlSiteTestBean(){ 

    } 
    private static final long serialVersionUID = 1L; 
    @EJB 
    ManageUrlSiteTestLocal local; 
    private SiteWebImpose siteweb = new SiteWebImpose() ; 
    private List<SiteWeb> sitewebs=new ArrayList<SiteWeb>(); 
    private boolean form; 
    public ManageUrlSiteTestLocal getLocal() { 
     return local; 
    } 
    public void setLocal(ManageUrlSiteTestLocal local) { 
     this.local = local; 
    } 
    public List<SiteWeb> getSitewebs() { 
     return sitewebs; 
    } 
    public void setSitewebs(List<SiteWeb> siteweb) { 
     this.sitewebs = siteweb; 
    } 
    public SiteWebImpose getSiteweb() { 
     return siteweb; 
    } 
    public void setSiteweb(SiteWebImpose siteweb) { 
     this.siteweb = siteweb; 
    } 
    public boolean isForm() { 
     System.out.println("nn"); 
     return form; 
    } 
    public String validate(){ 
     local.updateUrlSite(siteweb); 
     form=false; 
     siteweb=new SiteWebImpose() ; 
     init(); 
     return null;   
    } 
    public void setForm(boolean form) { 
     this.form = form; 
    } 
    @PostConstruct 
    public void init(){ 
     setSitewebs(local.listerUrlSiteTests()); 
    } 
} 

Wie kann ich das erreichen?

+0

zu validieren Haben Sie eine leere Zeichenfolge zurück. –

+0

Was soll ich tun? – omar

+0

Wenn Sie die Liste println können und sehen, dass es aktualisiert wird 'public String validate() { local.updateUrlSite (siteweb); form = false; siteweb = neue SiteWebImpose(); init(); Rückgabewert null; } 'zu diesem öffentlichen String validate() { local.updateUrlSite (siteweb); form = false; siteweb = neue SiteWebImpose(); init(); zurück ""; } ' –

Antwort

0

Sie aktualisieren Ihre Liste nicht, wenn Sie die Validierungsaktion Ihrer Schaltfläche auslösen. Also wird die Liste aktualisiert, ok, aber Sie müssen sie auch im HTML-Code aktualisieren. versuchen etw wie diese

<p:commandButton value="Validate" action="#{manageUrlSiteTestBean.validate()}" update=":form:developpeur"/> 

ich erinnere mich nicht, wenn Sie auch eine ID für Ihre Datentabelle zu erklären haben, oder es wird nur mit dem widgetVar arbeiten, aber ich denke, dass Sie auch eine ID benötigen, so auch id="developpeur" an Ihrem Datatable setzen. und fügen id="form" bei Ihrem ersten Form

haben einen Blick auf die Beispiele hier über Ajax einreichen und nicht-Ajax einreichen

http://www.primefaces.org/showcase/ui/button/commandButton.xhtml

+0

Danke für Ihre Hilfe Ich habe update = "@ all" zu dieser Befehlsschaltfläche hinzugefügt – omar

Verwandte Themen