Есть ли способ узнать, какие компоненты были обновлены после действия
При программировании в JSF 2.2 я иногда не уверен, что update
Сработало заявление или нет. Например, у меня есть таблица ниже, и я хочу, чтобы она обновлялась при нажатии кнопки:
<h:form id="theform">
<h:panelGroup id="entity">
<p:dataTable
var="item"
tableStyle="width:auto"
styleClass="tableFillRight"
value="#{artistEntityBean.asList}"
id="table">
<p:column headerText="Name">
<h:outputText value="#{item.name}" styleClass="tableArtistName" />
</p:column>
<f:facet name="footer">
<h:panelGroup id="footerWrapper">
<p:commandButton
id="requestMod"
partialSubmit="true"
process="@this"
value="become moderator"
update="@parent :messages"
disabled="#{moderatorEntityBean.item.moderatingArtist}"
actionListener="#{moderatorEntityBean.handleCreate()}"
action="#{artistEntityBean.init()}">
</p:commandButton>
</h:panelGroup>
</f:facet>
</p:dataTable>
</h:panelGroup>
</h:form>
Как ID
кнопки theForm:table:requestMod
я думал так update="@parent"
должно сработать. Однако, похоже, что оно не обновляется, или, может быть, я допустил ошибку где-то в компоненте поддержки или где-то еще?
Дело в том, что я не сейчас. Таким образом, чтобы определить, в чем заключается ошибка, было бы здорово как-то действительно убедиться, что update
часть commandButton
работал.
Как и сейчас, при нажатии кнопки измененное значение обновляется только после перезагрузки страницы.
1 ответ
Использование Firebug
или аналогичный плагин для браузера для мониторинга сети и проверки ответа от сервера. Если компонент (например, clientId=component_client_id) обновлен, вы увидите что-то вроде этого:
<?xml version='1.0' encoding='UTF-8'?>
<partial-response id="j_id1">
<changes>
<update id="component_client_id">
<![CDATA[
... component's HTML code ...
]]>
</update>
<update id="j_id1:javax.faces.ViewState:0">
<![CDATA[-74243231543289530:-219780152641895389]]>
</update>
</changes>
</partial-response>