0

RichFaces4.0を使用するJSF2.0で次のコードを使用しています。列挙型のマネージドBeanがあります。ここで、ActionParamを介して列挙型の値を割り当てたいと思います。これどうやってするの?コードは次のとおりです。

<a4j:commandLink id="pendingTransactions"
        action="#{tellerBean.getPendingTransactions}" value="Show Pending"
        styleClass="button category-btn">
    <a4j:actionparam name="first" value=""
        assignTo="" />  
</a4j:commandLink>

と私の管理された豆:

@ManagedBean
@SessionScoped
public class TellerBean implements Serializable{

    public enum TransactionType {
        PENDING,PROCESSED,ALL
    }

    private static final long serialVersionUID = -321111;
    private String recipientID;
    private String recipientName;
    private String transactionAmount;
    private TransactionType transactionType;


    public String getRecipientID() {
        return recipientID;
    }

    public void setRecipientID(String recipientID) {
        this.recipientID = recipientID;
    }

    public String getRecipientName() {
        return recipientName;
    }

    public void setRecipientName(String recipientName) {
        this.recipientName = recipientName;
    }

    public String getTransactionAmount() {
        return transactionAmount;
    }

    public void setTransactionAmount(String transactionAmount) {
        this.transactionAmount = transactionAmount;
    }

    public void searchTransactions() {}

    public TransactionType getTransactionType() {
        return transactionType;
    }

    public void setTransactionType(TransactionType transactionType) {
        this.transactionType = transactionType;
    }

    public void getTransactions() {}
}

transactionType次に、変数の値を列挙値に割り当てます。これどうやってするの?

4

1 に答える 1

0

変数で何をしたいのか、どのように表示したいのかわからないので、ここに一般的な例を示します。

まず、JSFページは、可能な値を見つけるために列挙型を「反復」できる必要があります。を使用してh:selectOneMenu入力された例として使用していf:selectItemsます。f:selectItems入力としてaを期待するため、 :List<>にメソッドを作成する必要があります。TellerBean

public List<TransactionType> getTransactionTypes()
{
    List<TransactionTypes> tt = new ArrayList<TransactionType>();
    for (TransactionType t : TransactionType.values())
    {
        tt.add(new TransactionType(t, t.toString()))
    }
    return tt;
}

次に、JSFページの例を次に示します。

<h:form>
    <h:selectOneMenu value="#{tellerBean.transactionType}">
        <f:selectItems value="#{tellerBean.transactionTypes}"/>
    </h:selectOneMenu>
    <h:commandButton value="Submit" action="#{tellerBean.someMethod}"/>
</h:form>

JSFページには、列挙型の値を含むドロップダウンリストが表示されます。「送信」というラベルの付いたボタンをクリックすると、で実行someMethod()されTellerBeanます。もちろん、メソッドが存在しないため、これは機能しませんが、これは単なる例です。;-)

于 2012-10-22T10:05:47.620 に答える