2013-08-17 6 views
1

В моем приложении JSF, если я обновляю страницу, все получаемые визуализируются с использованием графических изображений в основном графике, а jsf <f:ajax /> не работает. Если я жду 5 секунд, вызовы ajax снова работают, и графические изображения загружаются.JSF не будет загружать все одновременно

Другой пример - когда я загружаю изображение. Изображение будет обработано, загружено, а сайт будет обновлен. После этого изображение отображается, но вызовы ajax не будут работать через несколько секунд после.

Приложение работает на JBoss 7.1 с JSF 2.1

Является ли это проблемой с медленным аппаратным или что-то другое. Я был бы рад любым намекам, потому что я действительно не знаю, где искать решение.

Пример:

<p:selectOneRadio id="options" value="#{gameWriter.uploadCover}"> 
    <f:selectItem itemLabel="ja" itemValue="true"/> 
    <f:selectItem itemLabel="nein" itemValue="false"/> 
    <f:ajax/> 
</p:selectOneRadio> 
+0

Вы получаете ошибки в журнале сервера javaEE? –

+0

@BuddhikaAriyaratne no erros в журнале JBoss с уровнем ошибки INFO –

ответ

0

При определении F: Ajax, попытаться дать компоненты пользовательского интерфейса, которые вы хотите выполнить и обновление. Также дайте мероприятие. Если вы хотите обработать всю форму и обновить всю страницу, вы можете использовать @form и @all в файле f: ajax.

Пример с @form и @all с f: ajax выглядит следующим образом.

<h:form> 
    <p:selectOneMenu id="cmb" value="#{investigationItemController.current}" > 
     <f:selectItem itemLabel="Please select an item" /> 
     <f:selectItems value="#{investigationItemController.items}" var="ii" itemLabel="#{ii.name}" itemValue="#{ii}" /> 
     <f:ajax event="change" execute="@form" render="@all"/> 
    </p:selectOneMenu> 
    <h:outputLabel id="lbl" value="#{investigationItemController.current}" /> 
</h:form> 

Приведенный ниже пример с использованием команды ajax в виде перьев.

<h:form> 
    <p:selectOneMenu id="cmb" value="#{investigationItemController.current}" > 
     <f:selectItem itemLabel="Please select an item" /> 
     <f:selectItems value="#{investigationItemController.items}" var="ii" itemLabel="#{ii.name}" itemValue="#{ii}" /> 
     <p:ajax event="change" process="cmb" update="lbl"/> 
    </p:selectOneMenu> 
    <h:outputLabel id="lbl" value="#{investigationItemController.current}" /> 
</h:form> 

Мы можем добавить более одного или для одного компонента пользовательского интерфейса, если мы хотим выполнить логику для нескольких событий.

События для стандартного компонента JSF UI могут быть приняты после удаления «включено» из списка атрибутов компонента пользовательского интерфейса, начиная с «включено». Например, если JSF UI поддерживает onChange как атрибут, вы можете использовать event = "change". Для компонентов интерфейса UI, возможные события перечислены в документации по интерфейсам. Необходимо правильно выбрать событие для успешного ответа ajax.

+0

Благодарим за отзыв. Я дам ему попробовать. Моя проблема скорее не в том, что вызовы ajax не работают, а вызовы работают 90% времени, и после двух событий, которые я описал выше в течение 5 секунд, они не будут работать. –

+0

Я думал, что без атрибутов execute и render не будет ответа ajax. Поскольку вы не включили их в свой код, и все же вы периодически получаете ответы, я буду ссылаться на то, возможно ли это. –