第31章 Seam JSF コントロール


Seam には組み込みコントロールや他のサードパーティライブラリのコントロールの機能を補完する JavaServer Faces (JSF) コントロールが多く含まれています。 Seam と併用する場合は、JBoss RichFaces および Apache MyFaces Trinidad タグライブラリの使用を推奨します。 Tomahawk タグライブラリの使用はお薦めできません。

31.1. タグ

これらのタグを使用するには、 以下のように使用するページで s 名前空間を定義します (Facelets のみ)。
<html xmlns="http://www.w3.org/1999/xhtml" 
      xmlns:s="http://jboss.com/products/seam/taglib">
Copy to Clipboard Toggle word wrap
ユーザーインターフェースのサンプルではいくつかのタグの使用例を示しています。

31.1.1. ナビゲーションコントロール

31.1.1.1.

説明
対話の伝搬を制御することでアクションの呼び出しをサポートするボタンです。 このボタンではフォームはサブミットしません。
Attributes
  • value − ボタンのラベルです。
  • action − アクションリスナーを指定するメソッドバインディングです。
  • view − リンク先となる JSF ビュー ID を指定します。
  • fragment − リンク先となるフラグメント識別子を指定します。
  • disabled − リンクを無効にするかどうか指定します。
  • propagation − 対話の伝播方式を指定します、 beginjoinnestnoneend があります。
  • pageflow − 開始するページフロー定義を指定します (propagation="begin" または propagation="join" が使用される場合のみ有効)。
使用方法
<s:button id="cancel" value="Cancel" action="#{hotelBooking.cancel}"/>
Copy to Clipboard Toggle word wrap
<s:link /> には、 viewaction の両方が指定可能です。 この場合、指定されたビューへのリダイレクトが発生した時点でアクションが呼び出されます。
<s:button />ではアクションリスナー (デフォルトの JSF アクションリスナーも含む) の使用はサポートされていません。

31.1.1.2.

説明
対話 ID を JSF リンクまたはボタンに追加します。例えば以下のとおりです。
<h:commandLink />, <s:button />.
Attributes
なし

31.1.1.3.

説明
タスクが #{task} で利用可能な場合、 出力リンク (または同様の JSF コントロール) にタスク ID を付加します。
Attributes
なし

31.1.1.4.

説明
対話の伝搬を制御することでアクションの呼び出しをサポートするリンクです。 このボタンではフォームはサブミットしません。
<s:link />ではアクションリスナー (デフォルトの JSF アクションリスナーも含む) の使用はサポートされていません。
Attributes
  • value − リンクラベルを指定します。
  • action − アクションリスナーを指定するメソッドバインディングです。
  • view − リンク先となる JSF ビュー ID を指定します。
  • fragment − リンク先となるフラグメント識別子を指定します。
  • disabled − リンクを無効にするかどうか指定します。
  • propagation − 対話の伝播方式を指定します、 beginjoinnestnoneend があります。
  • pageflow − 開始するページフロー定義を指定します (propagation="begin" または propagation="join" が使用される場合のみ有効)。
使用方法
<s:link id="register" view="/register.xhtml" value="Register New User"/>
Copy to Clipboard Toggle word wrap
<s:link /> には、 viewaction の両方が指定可能です。 この場合、指定されたビューへのリダイレクトが発生した時点でアクションが呼び出されます。

31.1.1.5.

説明
コマンドリンクやボタン (または同様の JSF コントロール) に対し対話の伝搬をカスタマイズします。 Facelets のみです。
Attributes
  • type — 対話の伝播方式を指定します、 beginjoinnestnone end があります。
  • pageflow − 開始するページフロー定義を指定します (propagation="begin" または propagation="join" が使用される場合のみ有効)。
使用方法
<h:commandButton value="Apply" action="#{personHome.update}"> 
  <s:conversationPropagation type="join" /> 
</h:commandButton>
Copy to Clipboard Toggle word wrap

31.1.1.6.

説明
enter キーでフォームをサブミットしたときに実行するデフォルトのアクションを指定します。
現時点では、 <h:commandButton /><a:commandButton /><tr:commandButton /> など、 ボタンの内側にのみネストが可能です。
アクションソースには ID を指定する必要があり、 1 つのフォームに指定できるのはデフォルトの 1 アクションのみとなります。
Attributes
なし
使用方法
<h:commandButton id="foo" value="Foo" action="#{manager.foo}"> 
  <s:defaultAction /> 
</h:commandButton>
Copy to Clipboard Toggle word wrap

31.1.2. コンバータとバリデータ

31.1.2.1.

説明
Seam タイムゾーン内でデータ変換または時刻変換を行います。
Attributes
なし
使用方法
<h:outputText value="#{item.orderDate}"> 
  <s:convertDateTime type="both" dateStyle="full"/> 
</h:outputText>
Copy to Clipboard Toggle word wrap

31.1.2.2.

説明
エンティティコンバータを現在のコンポーネントに割り当てます。 ラジオボタンコントロールおよびドロップダウンコントロールに役立ちます。
コンバータは単純なエンティティ、複合エンティティなどすべての管理エンティティとも動作します。フォームのサブミット時にコンバータが JSF コントロールで宣言された項目を発見できないと、検証エラーが発生します。
Attributes
なし
設定
<s:convertEntity />Seam 管理のトランザクション (「Seam 管理トランザクション」 参照) とともに使う必要があります。
管理永続コンテキストentityManager という名前でなければなりません。 この名前が付いていない場合は components.xml で変更します。
<components xmlns="http://jboss.com/products/seam/components" 
            xmlns:ui="http://jboss.com/products/seam/ui"> 
<ui:jpa-entity-loader entity-manager="#{em}" />
Copy to Clipboard Toggle word wrap
管理 Hibernate セッション を使用している場合は、 それを components.xml でも設定する必要があります。
<components xmlns="http://jboss.com/products/seam/components" 
            xmlns:ui="http://jboss.com/products/seam/ui"> 
<ui:hibernate-entity-loader />
Copy to Clipboard Toggle word wrap
管理 Hibernate セッションsession という名前でなければなりません。 この名前が付いていない場合は components.xml で変更します。
<components xmlns="http://jboss.com/products/seam/components" 
            xmlns:ui="http://jboss.com/products/seam/ui"> 
<ui:hibernate-entity-loader session="#{hibernateSession}" />
Copy to Clipboard Toggle word wrap
このエンティティコンバータで複数のエンティティマネージャを使用する場合は、 components.xml でそれぞれのエンティティマネージャに対してこのエンティティコンバータのコピーを作成します。 エンティティコンバータはエンティティローダーに委譲して次のような永続化操作を行います。
<components xmlns="http://jboss.com/products/seam/components" 
            xmlns:ui="http://jboss.com/products/seam/ui"> 
<ui:entity-converter name="standardEntityConverter" 
    entity-loader="#{standardEntityLoader}" /> 
<ui:jpa-entity-loader name="standardEntityLoader" 
    entity-manager="#{standardEntityManager}" /> 
<ui:entity-converter name="restrictedEntityConverter" 
    entity-loader="#{restrictedEntityLoader}" /> 
<ui:jpa-entity-loader name="restrictedEntityLoader" 
    entity-manager="#{restrictedEntityManager}" />
Copy to Clipboard Toggle word wrap
<h:selectOneMenu value="#{person.continent}"> 
  <s:selectItems value="#{continents.resultList}" 
     var="continent" label="#{continent.name}" /> 
  <f:converter converterId="standardEntityConverter" /> 
</h:selectOneMenu>
Copy to Clipboard Toggle word wrap
使用方法
<h:selectOneMenu value="#{person.continent}" required="true"> 
  <s:selectItems value="#{continents.resultList}" var="continent" 
     label="#{continent.name}" noSelectionLabel="Please Select..."/> 
  <s:convertEntity /> 
</h:selectOneMenu>
Copy to Clipboard Toggle word wrap

31.1.2.3.

説明
enum コンバータを現在のコンポーネントに割り当てます。主にラジオボタンコントロールおよびドロップダウンコントロールに役立ちます。
Attributes
なし
使用方法
<h:selectOneMenu value="#{person.honorific}"> 
  <s:selectItems value="#{honorifics}" var="honorific" 
     label="#{honorific.label}" noSelectionLabel="Please select" /> 
  <s:convertEnum /> 
</h:selectOneMenu>
Copy to Clipboard Toggle word wrap

31.1.2.4.

説明
java.util.concurrent.atomic.AtomicBoolean 用の javax.faces.convert.Converter です。
Attributes
なし
使用方法
<h:outputText value="#{item.valid}"> 
  <s:convertAtomicBoolean /> 
</h:outputText>
Copy to Clipboard Toggle word wrap

31.1.2.5.

説明
java.util.concurrent.atomic.AtomicInteger 用の javax.faces.convert.Converter です。
Attributes
なし
使用方法
<h:outputText value="#{item.id}"> 
  <s:convertAtomicInteger /> 
</h:outputText>
Copy to Clipboard Toggle word wrap

31.1.2.6.

説明
java.util.concurrent.atomic.AtomicLong 用の javax.faces.convert.Converter です。
Attributes
なし
使用方法
<h:outputText value="#{item.id}"> 
  <s:convertAtomicLong /> 
</h:outputText>
Copy to Clipboard Toggle word wrap

31.1.2.7.

説明
入力コントロールの親の値が、参照されたコントロールの値と同等かどうかを確認します。
Attributes
  • for − 検証の対象となるコントロールの ID です。
  • message − 失敗時に表示されるメッセージです。
  • required — False は値がフィールドで入力されたかのチェックを無効にします。
  • messageId − 失敗時に表示するメッセージ ID です。
  • operator — 値の比較時に使用する演算子です。 有効な演算子は次のとおりです。
    • equalvalue.equals(forValue) を検証します。
    • not_equal!value.equals(forValue) を検証します。
    • greater — ((Comparable)value).compareTo(forValue) > 0 を検証します。
    • greater_or_equal — ((Comparable)value).compareTo(forValue) >= 0 を検証します。
    • less — ((Comparable)value).compareTo(forValue) < 0 を検証します。
    • less_or_equal — ((Comparable)value).compareTo(forValue) <= 0 を検証します。
使用方法
<h:inputText id="name" value="#{bean.name}"/> 
<h:inputText id="nameVerification" > 
  <s:validateEquality for="name" /> 
</h:inputText>
Copy to Clipboard Toggle word wrap

31.1.2.8.

説明
非視覚的なコントロールです。 Hibernate Validator を使用してバウンドプロパティに対して JSF 入力フィールドを確認します。
Attributes
なし
使用方法
<h:inputText id="userName" required="true" value="#{customer.userName}"> 
  <s:validate /> 
</h:inputText> 
<h:message for="userName" styleClass="error" />
Copy to Clipboard Toggle word wrap

31.1.2.9.

説明
非視覚的なコントロールです。 Hibernate Validator を使ってそのバウンドプロパティに対しすべての子 JSF 入力フィールドを確認します。
Attributes
なし
使用方法
<s:validateAll> 
  <div class="entry"> 
    <h:outputLabel for="username">Username:</h:outputLabel> 
    <h:inputText id="username" value="#{user.username}" required="true"/> 
    <h:message for="username" styleClass="error" /> 
  </div> 
  <div class="entry"> 
    <h:outputLabel for="password">Password:</h:outputLabel> 
    <h:inputSecret id="password" value="#{user.password}" 
     required="true"/> 
    <h:message for="password" styleClass="error" /> 
  </div> 
  <div class="entry"> 
    <h:outputLabel for="verify">Verify Password:</h:outputLabel> 
    <h:inputSecret id="verify" value="#{register.verify}" 
     required="true"/> 
    <h:message for="verify" styleClass="error" /> 
  </div> 
</s:validateAll>
Copy to Clipboard Toggle word wrap

31.1.3. フォーマット

31.1.3.1.

説明
検証に失敗した場合または required="true" に設定されている場合、 JSF 入力フィールドを「装飾」します。
Attributes
  • template − コンポーネントの装飾に使用される Facelet テンプレートです。
  • enclosetrue にすると、 入力フィールドの装飾に使用されたテンプレートが「element」属性で指定されたエレメントで囲まれます (デフォルトでは div エレメントです)。
  • element — 入力フィールドを装飾するテンプレートを囲むエレメントです。 デフォルトではテンプレートは div エレメントで囲まれます。
#{invalid}#{required}s:decorate の内部で利用可能です。 装飾された入力コンポーネントが required に設定されると #{required}true と評価されます。 また、 検証エラーが発生すると、#{invalid}true と評価されます。
使用方法
<s:decorate template="edit.xhtml"> 
  <ui:define name="label">Country:</ui:define> 
  <h:inputText value="#{location.country}" required="true"/> 
</s:decorate>
Copy to Clipboard Toggle word wrap
<ui:composition xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:ui="http://java.sun.com/jsf/facelets" 
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:s="http://jboss.com/products/seam/taglib"> 
  <div>   
    <s:label styleClass="#{invalid?'error':''}"> 
      <ui:insert name="label"/> 
      <s:span styleClass="required" rendered="#{required}">*</s:span> 
    </s:label> 
    <span class="#{invalid?'error':''}"> 
      <s:validateAll> 
        <ui:insert/> 
      </s:validateAll> 
    </span> 
    <s:message styleClass="error"/>     
  </div>   
</ui:composition>
Copy to Clipboard Toggle word wrap

31.1.3.2.

説明
HTML <div> をレンダリングします。
Attributes
なし
使用方法
<s:div rendered="#{selectedMember == null}"> 
  Sorry, but this member does not exist. 
</s:div>
Copy to Clipboard Toggle word wrap

31.1.3.3.

説明
HTML <span> をレンダリングします。
Attributes
  • title − span のタイトルです。
使用方法
<s:span styleClass="required" rendered="#{required}" title="Small tooltip">
  *
</s:span>
Copy to Clipboard Toggle word wrap

31.1.3.4.

説明
レンダリングされないコンポーネントで、その子のレンダリングを有効化 / 無効化するのに役立ちます。
Attributes
なし
使用方法
<s:fragment rendered="#{auction.highBidder ne null}"> 
  Current bid: 
</s:fragment>
Copy to Clipboard Toggle word wrap

31.1.3.5.

説明
JSF 入力フィールドをラベルで「装飾」します。 ラベルは HTML <label> タグの内側に配置され、 最も近い JSF 入力コンポーネントと関連付けられます。 <s:decorate> と併用されることがよくあります。
Attributes
  • style − コントロールのスタイルです。
  • styleClass − コントロールのスタイルクラスです。
使用方法
<s:label styleClass="label"> Country: </s:label> 
<h:inputText value="#{location.country}" required="true"/>
Copy to Clipboard Toggle word wrap

31.1.3.6.

説明
検証のエラーメッセージで JSF 入力フィールドを「装飾」します。
Attributes
なし
使用方法
<f:facet name="afterInvalidField"> 
  <s:span>  
    Error: 
    <s:message/> 
  </s:span> 
</f:facet>
Copy to Clipboard Toggle word wrap

31.1.4. Seam Text

31.1.4.1.

説明
サブミットされた値が有効な Seam Text であることを確認します。
Attributes
なし

31.1.4.2.

説明
Seam Text を出力します。Seam Text はブログや wiki、 リッチテキストを使うその他のアプリケーションにとって便利なリッチテキストマークアップです。使用方法の詳細は Seam Text の章を参照してください。
Attributes
  • value − レンダリングするリッチテキストマークアップを指定する EL 式です。
使用方法
<s:formattedText value="#{blog.text}"/>
Copy to Clipboard Toggle word wrap

31.1.5. フォームのサポート

31.1.5.1.

説明
クロスサイトリクエストフォージェリ (XSRF) 攻撃に対し JSF フォーム送信の安全性を確保するためランダムなトークンを生成して非表示のフォームフィールドに挿入します。 このコンポーネントを含むフォームを送信するためにブラウザのクッキーを有効にしておく必要があります。
Attributes
  • requireSession — トークンをセッションにバインドさせるためセッション ID をフォーム署名に含ませるかどうかを示します。 デフォルト値は false ですが、 Facelets が「build before restore」モードの場合にしか使用されないはずです (「build before restore」は JSF 2.0 ではデフォルトのモードです)。
  • enableCookieNotice — クッキーがブラウザで有効であることを確認するために JavaScript チェックがページに挿入されるべきであると示します。 クッキーが有効でないとフォームの送信は機能しないという通知をユーザーに表示します。 デフォルト値は false です。
  • allowMultiplePosts — 同じフォームを同じ署名を使って複数送信が可能かどうかを示します (ビューは変更なし)。 フォームがそれ自体または UIToken コンポーネントをレンダリングしないで AJAX 呼び出しを行っている場合に必要とされることが多くあります。 UIToken コンポーネントが処理されるであろう AJAX の呼び出し時に UIToken コンポーネントを再度レンダリングした方がよいでしょう。 デフォルト値は false です。
使用方法
<h:form> 
  <s:token enableCookieNotice="true" requireSession="false"/> 
  ... 
</h:form>
Copy to Clipboard Toggle word wrap

31.1.5.2.

説明
列挙値から SelectItem を作成します。
Attributes
  • enumValue − 列挙値の文字列表現です。
  • labelSelectItem をレンダリングするときに使用するラベルです。
使用方法
<h:selectOneRadio id="radioList" 
                  layout="lineDirection" 
 value="#{newPayment.paymentFrequency}">
   <s:convertEnum />
   <s:enumItem enumValue="ONCE"         label="Only Once" />
   <s:enumItem enumValue="EVERY_MINUTE" label="Every Minute" />
   <s:enumItem enumValue="HOURLY"       label="Every Hour" />
   <s:enumItem enumValue="DAILY"        label="Every Day" />
   <s:enumItem enumValue="WEEKLY"       label="Every Week" />
</h:selectOneRadio>
Copy to Clipboard Toggle word wrap

31.1.5.3.

説明
List、 Set、 DataModel または Array から List<SelectItem> を作成します。
Attributes
  • valueList<SelectItem> に格納されるデータを指定する EL 式です。
  • var− 反復中に現在のオブジェクトを保持するローカル変数の名前を定義します。
  • labelSelectItem をレンダリングするときに使用するラベルです。 var 変数の参照が可能です。
  • itemValue − この選択肢を選ぶとサーバに戻される値を指定します。 これはオプション属性です。 含ませると var が使用されるデフォルトのオブジェクトになります。 var 変数の参照が可能です。
  • disabledtrue の場合、 SelectItem が無効としてレンダリングされます。 var 変数の参照が可能です。
  • noSelectionLabel − 一覧の冒頭に記載する (オプションの) ラベルを指定します。 この値を選択し、 また required="true" も指定すると検証エラーとなります。
  • hideNoSelectionLabel − true の場合、 値が選択されていると noSelectionLabel は非表示になります。
使用方法
<h:selectOneMenu value="#{person.age}" converter="ageConverter"> 
  <s:selectItems value="#{ages}" var="age" label="#{age}" /> 
</h:selectOneMenu>
Copy to Clipboard Toggle word wrap

31.1.5.4.

説明
ファイルアップロードコントロールをレンダリングします。 このコントロールはエンコーディングタイプを multipart/form-data にしてフォーム内で使用しなければなりません。
<h:form enctype="multipart/form-data">
Copy to Clipboard Toggle word wrap
マルチパート要求の場合、 Seam Multipart サーブレットフィルタも web.xml 内で設定しなければなりません。
<filter> 
  <filter-name>Seam Filter</filter-name> 
  <filter-class>org.jboss.seam.servlet.SeamFilter</filter-class> 
</filter> 
<filter-mapping> 
  <filter-name>Seam Filter</filter-name> 
  <url-pattern>/*</url-pattern> 
</filter-mapping>
Copy to Clipboard Toggle word wrap
設定
components.xml では、 次のようなマルチパート要求用の設定オプションが設定できます。
  • createTempFilestrue の場合、アップロードされたファイルはメモリではなく一時ファイルに保存されます。
  • maxRequestSize − ファイルアップロード要求のバイト単位の最大サイズです。
例:
<component class="org.jboss.seam.web.MultipartFilter"> 
  <property name="createTempFiles">true</property> 
  <property name="maxRequestSize">1000000</property> 
</component>
Copy to Clipboard Toggle word wrap
Attributes
  • data − バイナリのファイルデータを受け取る値バインディングを指定します。 受け取るフィールドは byte[] または InputStream として宣言されている必要があります。
  • contentType − ファイルのコンテンツタイプを受け取る値バインディングを指定するオプションの属性です。
  • fileName − ファイル名を受け取る値バインディングを指定するオプションの属性です。
  • fileSize − ファイルサイズを受け取る値バインディングを指定するオプションの属性です。
  • accept − 受け入れ可能なコンテンツタイプをコンマで区切った一覧です。 たとえば、 "images/png,images/jpg""images/*" などです。 記載されているタイプはブラウザによってサポートされない場合があります。
  • style − コントロールのスタイルです。
  • styleClass − コントロールのスタイルクラスです。
使用方法
<s:fileUpload id="picture" 
              data="#{register.picture}" accept="image/png" 
              contentType="#{register.pictureContentType}" />
Copy to Clipboard Toggle word wrap

31.1.6. その他

31.1.6.1.

説明
JBoss Cache を使用してレンダリングされたページフラグメントをキャッシュします。 <s:cache> は実際には組み込みの pojoCache コンポーネントで管理される JBoss Cache のインスタンスを使用するので注意してください。
Attributes
  • key − レンダリングされたコンテンツをキャッシュするキーです。 値式がよく使用されます。 例えば、 ドキュメントを表示するページフラグメントをキャッシュする場合、 key="Document-#{document.id}"のように使います。
  • enabled − キャッシュを使うべきかどうか決定する値式です。
  • region − 使用する JBoss Cache のノードを指定します。 ノード毎に異なる有効期限ポリシーを持つことができます。
使用方法
<s:cache key="entry-#{blogEntry.id}" region="pageFragments">
  <div class="blogEntry">
    <h3>#{blogEntry.title}</h3>
    <div>
      <s:formattedText value="#{blogEntry.body}"/>
    </div>
    <p>
      [Posted on 
      <h:outputText value="#{blogEntry.date}">
        <f:convertDateTime timezone="#{blog.timeZone}" 
         locale="#{blog.locale}" type="both"/>
      </h:outputText>]
    </p>
  </div>
</s:cache>
Copy to Clipboard Toggle word wrap

31.1.6.2.

説明
ファイルダウンロードプロバイダとして動作するタグです。 JSF ページでは単独でなければなりません。 このコントロールを使用する場合は以下のように web.xml を設定する必要があります。
設定
<servlet> 
  <servlet-name>Document Store Servlet</servlet-name> 
  <servlet-class>
    org.jboss.seam.document.DocumentStoreServlet
  </servlet-class> 
</servlet> 
<servlet-mapping> 
  <servlet-name>Document Store Servlet</servlet-name> 
  <url-pattern>/seam/docstore/*</url-pattern> 
</servlet-mapping>
Copy to Clipboard Toggle word wrap
Attributes
  • data — ダウンロードすべきデータを指定します。 java.util.File、 InputStream、 バイトアレイなどになります。
  • fileName − 処理するファイルのファイル名です。
  • contentType − ダウンロードするファイルのコンテンツタイプです。
  • disposition — 使用するディスポジションです。 デフォルトのディスポジションは inline です。
使用方法
以下のようにタグを使用します。
<s:resource xmlns="http://www.w3.org/1999/xhtml" 
   xmlns:s="http://jboss.com/products/seam/taglib" 
   data="#{resources.data}" contentType="#{resources.contentType}" 
   fileName="#{resources.fileName}" />
Copy to Clipboard Toggle word wrap
上記の resources という名前の Bean はバッキング Bean であり、 要求パラメータの場合、 特定のファイルを処理します。 s:download を参照してください。

31.1.6.3.

説明
<s:resource> への RESTful リンクをビルドします。 ネストされた f:param はその URL を構成します。
  • src — ファイルを処理するリソースファイルです。
Attributes
<s:download src="/resources.xhtml"> 
  <f:param name="fileId" value="#{someBean.downloadableFileId}"/> 
</s:download>
Copy to Clipboard Toggle word wrap
http://localhost/resources.seam?fileId=1 と同じようなフォームのリンクを生成します。

31.1.6.4.

説明
Seam コンポーネント内で画像を作成できるようにする拡張 <h:graphicImage> です。 さらに画像の変換も可能です。
<h:graphicImage> の属性はすべてサポートされる他、 以下もサポートされます。
Attributes
  • value − 表示する画像を指定します。 パスを表す String (クラスパスからロードされます)、 byte[]java.io.Filejava.io.InputStreamjava.net.URL が指定可能です。 現在サポートされている画像フォーマットは image/bmpimage/pngimage/jpegimage/gif です。
  • fileName — 画像のファイル名を指定します。 この名前は一意にしてください。 指定しないと画像に一意のファイル名が生成されます。
変換
画像に変換を適用するには、 適用する変換を指定するタグをネストさせます。 Seam は現在、 次のような変換タグをサポートしています。
<s:transformImageSize>
  • width − 画像の新しい幅を指定します。
  • height − 画像の新しい高さを指定します。
  • maintainRatiowidthheight のいずれかを指定した状態で true にすると、 画像はリサイズされて height:width の縦横比を維持します。
  • factor − 与えられた係数で画像を拡大縮小します。
<s:transformImageBlur>
  • radius − 与えられた半径でコンボリューションブラーを実行します。
<s:transformImageType>
  • contentType − 画像のタイプを image/jpeg または image/png に変更します。
独自の変換を作成することもできます。 org.jboss.seam.ui.graphicImage.ImageTransform を実装する UIComponent を作成します。 applyTransform() メソッド内で image.getBufferedImage() を使って元の画像を取得し、 image.setBufferedImage() で変換した画像を設定します。 変換はビューに指定された順序で適用されます。
使用方法
<s:graphicImage rendered="#{auction.image ne null}" 
   value="#{auction.image.data}"> 
  <s:transformImageSize width="200" maintainRatio="true"/> 
</s:graphicImage>
Copy to Clipboard Toggle word wrap

31.1.6.5.

説明
Seam Remoting を使う場合に必要な Javascript のスタブを生成します。
Attributes
  • include − コンポーネント名 (または完全修飾クラス名)をコンマで区切った一覧です。 Seam Remoting の Javascript スタブを生成します。 詳しくは 24章リモーティング を参照してください。
使用方法
<s:remote include="customerAction,accountAction,com.acme.MyBean"/>
Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat