Je développe une application web avec JSF 2.0 (mojarra) + primefaces. Dans le passé, j'ai utilisé avec succès la balise [c: set] de la bibliothèque jstl pour stocker des données temporaires ou des sorties d'autres balises.JSF 2.0 et JSTL utilisent la balise c: set pour stocker des données temporaires
Dans mon cas actuel, je veux l'utiliser à nouveau, mais cela ne fonctionne pas correctement et je ne sais pas pourquoi. Dans l'exemple suivant, cela fonctionne mais particulièrement. Pourquoi l'affaire 2 ne fonctionne pas correctement?
<h:form id="userAdministration">
<p:messages id="messages" showDetail="true" />
<p:dataTable id="userTable" selectionMode="single" var="user" value="#{users}">
<p:column>
<f:facet name="header">
<h:outputText value="#{message.user_table_header_id_column}" />
</f:facet>
<h:outputText value="#{user.id}" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="#{message.global_table_header_action_column}" />
</f:facet>
<p:commandButton type="push" onclick="#{user.loginname}DeleteConfirmation.show()" value="#{message.global_table_action_delete}" image="ui-icon-trash">
<f:setPropertyActionListener value="#{user}" target="#{userAdministrationController.selectedUser}" />
</p:commandButton>
<!-- 1. WORKS FINE, STORED VALUE IS "loginname" -->
<c:set var="deleteConfirmationMessage" value="#{user.loginname}"></c:set>
<!-- 2. VALUE IS "!!!" AND NOT "loginname !!!" -->
<c:set var="deleteConfirmationMessage2">
<h:outputText value="#{user.loginname}" />!!!
</c:set>
<!-- 3. WORKS FINE (OUTPUT "loginname") -->
<h:outputText value="#{user.loginname}" />
<p:confirmDialog message="#{deleteConfirmationMessage}" header="#{message.user_dialog_delete_confirmation_title}" severity="alert" widgetVar="#{user.loginname}DeleteConfirmation">
<p:commandButton value="#{message.user_dialog_delete_confirmation_no}" onclick="#{user.loginname}DeleteConfirmation.hide()" update="@form" type="button" />
</p:confirmDialog>
</p:column>
Merci, mais je l'ai fait déjà :(Ceci est mon en-tête. –
eglobetrotter
Ceci contredit le fait que # 1 et # 3 fonctionnent correctement. – BalusC