31.2. アノテーション


Seam は Seam コンポーネントを JSF コンバータやバリデータとして使えるようにするアノテーションも提供します。
@Converter
@Name("itemConverter") 
@BypassInterceptors 
@Converter 
public class ItemConverter implements Converter { 
  @Transactional 
  public Object getAsObject(FacesContext context, UIComponent cmp, 
                            String value) { 
    EntityManager entityManager = 
      (EntityManager) Component.getInstance("entityManager"); 
    entityManager.joinTransaction(); // Do the conversion 
  } 
  public String getAsString(FacesContext context, UIComponent cmp, 
                            Object value) { 
    // Do the conversion 
  } 
}
Copy to Clipboard Toggle word wrap
<h:inputText value="#{shop.item}" converter="itemConverter" />
Copy to Clipboard Toggle word wrap
Seam コンポーネントを JSF コンバータとして登録します。 上記では、 値をそのオブジェクト表現に変換するときにコンバータが JTA トランザクション内の JPA EntityManager にアクセスします。
@Validator
@Name("itemValidator") 
@BypassInterceptors 
@org.jboss.seam.annotations.faces.Validator 
public class ItemValidator implements javax.faces.validator.Validator { 
  public void validate(FacesContext context, UIComponent cmp, 
                       Object value) throws ValidatorException { 
    ItemController ItemController = 
      (ItemController) Component.getInstance("itemController"); 
    boolean valid = itemController.validate(value); 
    if (!valid) { 
      throw ValidatorException("Invalid value " + value); 
    } 
  } 
}
Copy to Clipboard Toggle word wrap
<h:inputText value="#{shop.item}" validator="itemValidator" />
Copy to Clipboard Toggle word wrap
Seam コンポーネントを JSF バリデータとして登録します。 上記では、 バリデータは別の Seam コンポーネントをインジェクトし、 インジェクトされたコンポーネントが値の検証に使用されます。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat