На странице xhtml с Primefaces я хотел бы отобразить значок галочки с помощью значка FontAwesome (fa-check). Так как атрибут значка может быть добавлен, например, к кнопке прайвеси или в команде primefaces command, то я использую commandButton с атрибутом значка. Моя проблема в том, если я сошлюсь на него из другого элемента с F: Ajax визуализации, есть ошибка:Обновление рендеринга элемента из другого элемента в JSF
malformedXML: During update formId:tickIcon not found
Я знаю, что там уже были такого рода вопросы, но я не утащит решить проблему.
Вот соответствующие части моей страницы Xhtml:
<h:form id="formId" enctype="multipart/form-data">
<p:wizard>
<p:tab id="tab1">
...
</p:tab>
<p:tab id="tab2">
<p:panel>
<p:panelGrid styleClass="ui-panelgrid-blank">
<p:row>
<p:column colspan="2">
<p:outputLabel id="wrapperLabel" value="Select a file"
styleClass="wrapperLabel">
<h:inputFile id="fileUpload" styleClass="fileUploadButton"
value="#{bean.file}" required="true">
<f:ajax listener="#{bean.tempUpload()}"
render="showFileName createButton tickIcon" />
</h:inputFile>
</p:outputLabel>
</p:column>
<p:column colspan="1">
<p:outputLabel value="Filename: " />
</p:column>
<p:column colspan="5">
<p:inputText id="showFileName"
value="#{bean.fileName}" readonly="true" />
</p:column>
<p:column colspan="1">
<p:commandButton id="tickIcon" icon="fa fa-check"
disabled="true" styleClass="tickIcon"
rendered="#{bean.validFile}" />
</p:column>
</p:row>
</p:panelGrid>
</p:panel>
</p:tab>
</p:wizard>
</h:form>
Более бетона в часе: файл_ввод есть е: Аякс, и при загрузке файла будет сделана, он обновляет рендеринг inputText поле и 2 командных кнопки. ValidFile - это логическая переменная, и после загрузки файла это правда. Но с помощью commandButton с иконкой обновление не работает, а в другом - 2.
Если у кого-то есть лучшая идея для отображения значка Fontawesome, это также приветствуется.
UPDATE:
Это "почти" работает, если я сошлюсь на CommandButton следующим образом:: tickIcon, поэтому компонентом АЯКС я пишу это:
<f:ajax listener="#{bean.tempUpload()}"
render="showFileName createButton :tickIcon" />
Почти, потому что он работает только если я вернусь к предыдущей вкладке в мастере, а затем обратно. Сначала компоненты не обновляются.
UPDATE 2:
Он работает сейчас, я изменил код так:
<f:ajax listener="#{bean.tempUpload()}"
render="@form" />
Таким образом, вся форма обновляется.
Это тоже не работает. –