2012-04-04 3 views
1

PrimefaceとAjax(またはなし)を使ってxhtml-pageの部分をレンダリングする方法。他のすべてが動作しています。ユーザーがチェックボックスを押すと、メッセージは表示されますが、usernamecontentは決して更新されません。その場合、panelgridをリフレッシュするには?私は完全にAJAXと初心者です、今日始め:)AJAXまたはJSFでページの一部を更新するにはどうすればよいですか?

<h:outputLabel value="Do you want to create username?" for="description" /> 
    <p:selectBooleanCheckbox value="#{testController.selectedNew.asUser}"> 
    <p:ajax update="msg" listener="#{testController.selectedNew.addMessage()}"/> 
    <p:ajax update="usernamecontent"/> ------> **This is not working!** 
    </p:selectBooleanCheckbox> 

    <h:panelGrid columns="2" id="usernamecontent" rendered="#{testController.selected.asUser}"> 
    <h:outputLabel value="#{bundle.CreateUserLabel_userUsername}" for="username" /> 
    <p:inputText id="username" value="#{testController.selectedNew.userUsername.username}" title="#{bundle.CreateUsersTitle_username}" required="true" requiredMessage="#{bundle.CreateUserRequiredMessage_username}"/> 

    <h:outputLabel value="#{bundle.CreateUsersLabel_password}" for="password" /> 
    <p:inputText id="password" value="#{testController.selectedNew.userUsername.password}" title="#{bundle.CreateUserTitle_password}" required="true" requiredMessage="#{bundle.CreateUserRequiredMessage_password}"/> 
    </h:panelGrid> 

を感謝 サミ

答えて

1

あなたusernamecontentコンポーネントは、条件付きで、サーバー側でレンダリング自体です。コンポーネントをajaxで更新できるようにするには、問題のコンポーネントが常にレンダリングされるようにする必要があります。なぜなら、クライアントサイドでJavaScriptを更新する必要があるからです。

常にレンダリングされる別のコンポーネントにラップする必要があります。そのため、JavaScriptはコンテンツを更新するために常にアクセスできます。

<h:panelGroup id="usernamecontent"> 
    <h:panelGrid columns="2" rendered="#{testController.selected.asUser}"> 
     ... 
    </h:panelGrid> 
</h:panelGroup> 
+0

それでした:)ありがとう、kiitos kiitos!ところで、チュートリアルや本のアイデアへのリンクがありますが、jsf + ajaxへのジャンプを始めるには何を読むべきですか?これについて考えてください:http://stackoverflow.com/questions/10003274/jpa-manytomany-in-case-of-users-and-groups/10003452#10003452 – Sami

+0

よろしくお願いします。 [Communication in JSF 2.0](http://balusc.blogspot.com/2011/09/communication-in-jsf-20.html)が役立つかもしれません。 – BalusC

関連する問題