これはJSFのUIコードです。アプリは、シンガポールドルから日本円への小さな通貨変換です。UIがバッキングBeanを更新していません
<h:form>
<h:inputText id="conversion" value="#{conversor.sgd}"></h:inputText>
<h:commandButton value = "Convertir a yen">
<f:ajax execute = "@all" render = "conversion_lista" event="click"/>
</h:commandButton>
<h2><h:outputText id = "conversion_lista" value = "Conversion: #{conversor.jpy}"/></h2>
</h:form>
そして、これが私のバッキングBeanです:
@Named("conversor")
@Dependent
public class Conversor {
private int sgd;
public Conversor() {
sgd = 1; //initial value
}
public int getSgd(){
return sgd;
}
public void setSgd(int sgd){
this.sgd = sgd;
}
public int getJpy(){
return sgd * 2; //fake
}
}
私は、のcommandButtonをクリックして最初のinputTextを実行し、バッキングBeanの変更にsgd
プロパティを行い、その後、以前でのoutputTextをレンダリングしたいですシンガポールドルから日本円への換算を計算する。
ただし、入力はバッキングBeanに渡されません。
getJpy()
は、呼び出されるたびに乱数を返し、ボタンをクリックするたびに乱数を描画しました。それはコールが機能することを意味します。しかし、私はテキストインプット(sgd/singaporean dollar)をバッキングビーンに渡すことができず、正しいコンバートを行うことができません。
ここでは何が起こっていますか?
_「私は何をしているのか分かりませんが、うまくいきます。」_それから、基本的なチュートリアル – Kukeltje