1

名前を受け入れ、名前を逆の順序で処理してから、別のテキストボックスに出力する入力テキストボックスがあります。値を入力してページの任意の場所をクリックすると(テキストボックスからフォーカスが失われることを意味します)、出力テキストボックスは自動的に更新されます。

以下のコードのようなものを見つけたソースコードを開くと、ajaxがinputtextコンポーネントに何をするのかわかりますか?

<h:inputText id="name" value="#{helloBean.name}">
  <f:ajax render="printMyName"/>
</h:inputText>

<h:outputText id="printMyName" value="#{helloBean.reverseName}"/>
4

1 に答える 1

5

Learning JSF2: Ajax in JSF – using f:ajax タグから引用

Ajax リクエストの送信

JSF には、Ajax リクエストを送信するためのタグが 1 つあります。このタグは f:ajax と呼ばれます。このタグは、実際にはクライアント側の動作です。ビヘイビアであるということは、それがページ上で単独で使用されることはなく、常に別の UI コンポーネントに子タグ (ビヘイビア) として追加される (または複数のコンポーネントをラップすることさえできる) ことを意味します。このタグの使い方を示すために、小さなエコー アプリケーションを使用してみましょう。

<h:form> 
  <h:panelGrid> 
      <h:inputText value="#{bean.text}" > 
         <f:ajax event="keyup" render="text"/> 
      </h:inputText> 
      <h:outputText id="text" value="#{bean.text}" /> 
   </h:panelGrid> 
</h:form>

上記のコード スニペットは、onkeyup イベントに基づいて Ajax リクエストを起動します。実際のイベント名は keyup です。これにより、Ajax リクエストの起動が処理されます。次に、部分ビュー レンダリングを行う方法を理解する必要があります。

属性 説明 イベント:

Ajax リクエストが発生するイベントの文字列。指定しない場合、親コンポーネントに基づくデフォルトの動作が適用されます。デフォルトのイベントは、ActionSource (つまり、ボタン) コンポーネントの action であり、EditableValueHolder コンポーネント (つまり、input) の valueChange です。action と valueChange は、適用されたイベント属性に適用できる実際の文字列値です。

于 2012-11-04T10:04:31.360 に答える