JSF 2.0(mojarra)+ primefacesでWebアプリケーションを開発しています。過去には、jstlライブラリの[c:set]タグを使用して、一時的なデータを格納したり、他のタグから出力したりしていました。JSF 2.0とJSTLでc:setタグを使用して一時的なデータを保存する
私の現在のケースでは、もう一度使用したいと思いますが、正常に動作せず、理由がわかりません。以下の例では動作しますが、特に動作します。なぜケース2が正しく動作しないのですか?セットには、時間の前に処理される:outputTextのがレンダリングされるので、私はJSFとJSTLを統合しようとしていないが、私はCを信じているからだけで、推測を作る
<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>
おかげで、私はすでに:(これは私のヘッダであることをやった:。 –
eglobetrotter
これは#1と#3が正しく動作するという事実と矛盾します。 – BalusC