2017-10-05 3 views
0

J'apprends Primefaces 6.1, et je veux mettre à jour un composant ui:repeat. Selon Alexandre's answer, j'ai besoin d'envelopper ui:component à l'intérieur d'un composant, tel que h:panelGroup. Cependant, quand je lance le projet, il y a une erreur dit:ne trouve pas d'expression pour le composant

ne peut pas trouver une expression pour le composant « bloglist »

Quelqu'un sait pourquoi? Voici une partie de mon code.

<h:form> 
    <h:panelGrid columns="2" style="margin-bottom:10px" cellpadding="5" > 
     <h:outputLabel value="Keyword: " for="keyword" /> 
     <p:inputText id="keyword" class="searchbox" value="#{viewManagedBean.keyword}"></p:inputText> 

     <p:commandButton value="Search" actionListener="#{viewManagedBean.search(event)}" update="blogList"/> 
    </h:panelGrid> 

    <h:panelGroup id="blogList"> 
     <ui:repeat value="#{viewManagedBean.guestBlogs}" var="blog"> 
      <p:panel id="toggleable" header="#{blog.title}" footer="Created Date:#{blog.createdTime}" widgetVar="panel" style="margin-bottom:20px"> 
       <h:outputText escape="false" value="#{blog.body}" style="font-weight: bold"/><hr /> 
      </p:panel> 
     </ui:repeat> 
    </h:panelGroup> 
</h:form> 
+0

Salut, 1 question par question s'il vous plaît ... Et avez-vous essayé les liens fournis par https://www.google.nl/search?q=cannot+find+expression+for+component+jsf? – Kukeltje

+1

'widgetVar =" panel "' ne devrait pas fonctionner si 'guestBlogs.size()> 1', comme' widgetVar' doit être unique (par page) –

+0

@Kukeltje ouais, j'ai essayé avec: blogList, ne peut toujours pas. Mais quand j'ai essayé à nouveau dans l'après-midi, ça fonctionne. –

Répondre

0

Merci pour la réponse de BalusC de "how to address ID in primefae".

-je ajouter l'id attribut dans le h:form:

<h:form id="form"> 

et modifier les update à

update=":form:dataList" 

il fonctionne!

+0

Donc, c'est effectivement un doublon? – Kukeltje