奇妙な欠陥が見られます。これが簡単なテストケースです。
管理対象Beanは次のとおりです。
@ManagedBean
public class Controller {
private int counter = 0;
//getter and setters...
public String next() {
++counter;
return null;
}
public String prev() {
--counter;
return null;
}
}
ビューは次のとおりです。
<h:form>
<p>Value: #{controller.counter}</p>
<h:inputHidden value="#{controller.counter}" />
<h:commandButton action="#{controller.prev()}" value="Previous" disabled="#{controller.counter == 0}"/>
<h:commandButton action="#{controller.next()}" value="Next" disabled="#{controller.counter == 5}"/>
</h:form>
ビューが最初に表示されるとき、[前へ]ボタンは無効になっています。[次へ]をクリックすると、[前へ]ボタンが有効になります。ここまでは順調ですね。ただし、[前へ]ボタンをクリックすると、アクションハンドラーメソッドprev()が呼び出されません。ボタンのdisabled属性を削除すると、すべて正常に機能します。私は何か間違ったことをしていますか、それともクロサギに欠陥がありますか?JBoss7.1とMojarraを使用しています。ありがとう。