私はJSF2.0、トマホーク、およびf:ajax
私の開発でいくつかのものを使用しています。JSFアプリケーションに魔法の言葉をかけようとしています。単語をクリックすると他の単語に変わり、もう一度クリックすると再び元に戻ります。より明確にするために、ここにシナリオがあります。XXを示す元の単語。XXをクリックすると、XXがYYに変わります。YYをクリックすると、XXに戻ります。魔法を感じますか?:P
これが私の作り方です。2を作成しますh:panelGroup
。次のように、1つにはXXワードが含まれ、もう1つにはYYワードが含まれます。
<h:panelGroup id="Panel_X">
<h:outputText value="XX" />
</h:panelGroup>
<h:panelGroup id="Panel_Y">
<h:outputText value="YY" />
</h:panelGroup>
クリック可能にするために、commandLinkを使用します。上記のコードから変更して、次のようにします。
<h:panelGroup id="Panel_X" rendered="#{magicBean.show_X == true}">
<h:commandLink action="#{myBean.doFunc}">
<f:ajax event="action" render="Panel_Y"/>
<h:outputText value="XX" />
</h:commandLink>
</h:panelGroup>
<h:panelGroup id="Panel_Y" rendered="#{magicBean.show_X == false}">
<h:commandLink action="#{myBean.doFunc}">
<f:ajax event="action" render="Panel_X"/>
<h:outputText value="YY" />
</h:commandLink>
</h:panelGroup>
これがバッキングBeanです。
@ManagedBean(name = "magicBean")
@SessionScoped
public class MagicWordBean {
public boolean show_X = true;
/** getter and setter of show_X **/
public String doFunc() {
showX = !showX;
return "";
}
}
正しく行っているかどうかはわかりませんが、うまくいかないことが1つあります。最初にページが読み込まれると、XXワードが表示されます。XXワードをクリックしても、YYワードは表示されず、XXワードが残ります。
これに関する手がかりはありますか?