PrimeFaces (mobile): InputText не запускает событие ajax
Доброе утро,
Я занимаюсь разработкой мобильного Интернета с использованием Primefaces-mobile и JSF. В Интернете есть компонент панели "Аккордеон", внутри которого есть несколько динамических вкладок, сгенерированных списком, полученным из базы данных. Каждая вкладка содержит сетку с некоторыми записями, также динамически генерируемую из списка, полученного из базы данных. Для целей тестирования внутри сетки есть 3 столбца, я имею в виду, что при смене поля ввода из столбца 2 текст вывода из столбца 3 должен меняться с тем же нажатием клавиши, что и для поля ввода.
Внутри XHTML:
<p:accordionPanel dynamic="true"
cache="true"
id="zoneAccordion"
var="zone"
value="#{explorerBean.childrenZones}"
activeIndex="-1">
<p:ajax event="tabChange" listener="#{explorerBean.onTabChange}" update=":form:growlTest"/>
<p:tab title="#{zone.desc}">
<!-- SIGNALS GRID -->
<p:dataTable id="signalsGrid2"
var="signal"
value="#{explorerBean.navigationBean.signalsList}" >
<p:column headerText="Signal ID">
<h:outputText id="idSignalLabel"
value="#{signal.idSignal}"/>
</p:column>
<p:column headerText="Value">
<p:inputText value="#{signal.value}"
idsignal="#{signal.idSignal}"
size="3">
<!-- FIRE AN EVENT -->
<p:ajax event="keyup" update="out1"/>
</p:inputText>
</p:column>
<p:column headerText="Test">
<h:outputText id="out1" value="#{signal.value}" />
</p:column>
</p:dataTable>
<p>
</p>
<!-- SAVE CHANGES BUTTON -->
<p:commandButton value="Save changes"
update=":form:growlTest"
style="width: 100%"
icon="ui-icon-disk"
actionListener="#{explorerBean.saveChangesButton}">
</p:commandButton>
</p:tab>
</p:accordionPanel>
Событие tabChange вызывается правильно, поэтому слушатель запускает "explorerBean.onTabChange". Проблема заключается в том, что изменяется содержимое inputBox (столбец 2 на вкладке). Событие ajax "keyup" не запускается, поэтому содержимое outputText (столбец 3 на вкладке) не изменяется.
ExplorerBean анонимируется как управляемый компонент:
@ManagedBean
@RequestScoped
public class ExplorerBean implements Serializable {
Я искал любой ответ, и я обнаружил проблему запуска событий во вкладках, но это должно быть исправлено в версии, которую я использую.
О версиях, которые я использую, здесь есть зависимости Maven:
<!-- JSF -->
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.1.1-b04</version>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>2.1.1-b04</version>
</dependency>
<!-- PRIME FACES -->
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>3.5</version>
</dependency>
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces-mobile</artifactId>
<version>0.9.3</version>
</dependency>
<dependency>
<groupId>org.primefaces.themes</groupId>
<artifactId>cupertino</artifactId>
<version>1.0.6</version>
</dependency>
Кто-нибудь знает, правильно ли работает ajax-события внутри вкладок в PrimeFaces? Знаете ли вы какой-либо другой способ вызвать событие из inputText?
Большое спасибо.
С уважением, Рафа.