JSFでは、「

f:attribute

」タグを使用すると、コンポーネントに属性値を渡すことも、アクション・リスナーを介してコンポーネントにパラメータを渡すこともできます。例えば、

{空} 1。コンポーネントに属性値を割り当てます。

<h:commandButton">
    <f:attribute name="value" value="Click Me"/>
</h:commandButton>
//is equal to

<h:commandButton value="Click Me"/>

{空} 2。コンポーネントにパラメータを割り当て、アクションリスナを介して取得します。

<h:commandButton actionListener="#{user.attrListener}" >
    <f:attribute name="username" value="mkyong"/>
</h:commandButton>

@ManagedBean(name="user")
@SessionScoped
public class UserBean{

 //action listener event
  public void attrListener(ActionEvent event){

    nickname = (String)event.getComponent().getAttributes().get("username");

  }

JSF f:属性の例

さて、JSF 2.0の完全な例を見てみましょう。

1.マネージドBean

アクションリスナーメソッドを持つ、 “user”という名前のマネージドBean。

package com.mkyong;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;

@ManagedBean(name="user")
@SessionScoped
public class UserBean{

    public String nickname;

   //action listener event
    public void attrListener(ActionEvent event){

        nickname = (String)event.getComponent().getAttributes().get("username");

    }

    public String outcome(){
        return "result";
    }

    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }
}

2. JSFページ

属性値を ”

h:commandButton

“コンポーネントに渡すための ”

f:attribute

“タグの使用方法を示すJSFページ。


default.xhtml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      >

    <h:body>

        <h1>JSF 2 attribute example</h1>

    <h:form id="form">

      <h:commandButton action="#{user.outcome}"
            actionListener="#{user.attrListener}" >

        <f:attribute name="username" value="mkyong"/>
        <f:attribute name="value" value="Click Me"/>

      </h:commandButton>

    </h:form>

    </h:body>
</html>


result.xhtml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      >

    <h:body>

        <h1>JSF 2 attribute example</h1>

        #{user.nickname}

    </h:body>

</html>

デモ

ここに結果があります。


jsf2-attribute-example-1、title = "jsf2-attribute-example-1"、width = 640、height = 364


jsf2-attribute-example-2、title = "jsf2-attribute-example-2"、width = 640、height = 364

ソースコードをダウンロードする

ダウンロードする – リンク://wp-content/uploads/2010/11/JSF-2-Attribute-Example.zip[JSF-2-Attribute- Example.zip](10KB)

リファレンス

2属性JavaDoc]。 link://jsf2/jsf-2-actionlistener-example/[JSF 2アクションリスナー

例]

リンク://タグ/jsf2/[jsf2]