Когда я включаю атрибут «disabled» в a4j: commandButton, действие кнопки не выполняется. Принятие атрибута «disabled» заставляет его работать правильно. Я не делаю специальной проверки (что я знаю), и я не вижу сообщений об ошибках проверки.JSF a4j: commandButton не работает, когда установлен «отключен»
Вот часть моей страницы:
<t:dataTable id="myTable"
var="region"
value="#{MyPageBackingBean.regions}"
width="100%">
...
<a4j:commandButton value="Update"
action="#{region.doUpdate}"
oncomplete="alert('done');"
disabled="#{!empty region && region.messageEmpty}"
immediate="true"/>
...
</t:dataTable>
Любые идеи? Благодаря!
Edit:
Я попытался установить preserveDataModel = "истина" на т: DataTable безрезультатно.
Я также сделал тест, имеющий a4j: CommandButton и текстовое поле без каких-либо данных таблицы, но действие поддержка боба еще не увольняют:
<h:form>
<a4j:region>
<a4j:outputPanel id="testregion">
<h:messages id="messages"/>
<a4j:status>
<f:facet name="start">
<h:graphicImage value="/images/progress_indicator.gif"/>
</f:facet>
</a4j:status>
<h:inputTextarea
rows="5"
value="#{MyPageBackingBean.myValue}"
style="width:100%; border: 1px solid #99CCFF;">
<a4j:support event="onkeyup"
reRender="testregion"
eventsQueue="messageModificationQueue"
ignoreDupResponses="true"
requestDelay="500"/>
</h:inputTextarea>
<a4j:commandButton id="doDelete"
value="Delete"
action="#{MyPageBackingBean.dummy}"
reRender="testregion"
disabled="#{empty MyPageBackingBean.myValue}"/>
<h:outputText value="#{MyPageBackingBean.myValue}"/>
</a4j:outputPanel>
</a4j:region>
</h:form>
Вот новый код защитный боб используется для тестирования :
private String m_myValue = null;
public String getMyValue()
{
return m_myValue;
}
public void setMyValue(String value)
{
m_myValue = value;
}
private String mystr2 = null;
public String dummy()
{
mystr2 = "hello";
return null;
}
Спасибо!
Вы проверили, не отключено ли значение отключено до значения true? – Bozho
Логика проста, поэтому она должна оцениваться как истина, но я не проверял ее явно. Вы знаете, где я могу? Я использую IntelliJ 8 и JBoss 5. –