0

次のように、データクラスに列挙型があります

パブリック列挙型ProcStat{

    NOT_READY               ((byte)-1, "Not Ready For Processing"),
    READY_FOR_PROCESSING    ((byte)0,  "Ready For Processing"),
    BEING_PROCESSED         ((byte)1,  "Being Processed"),
    PROCESSED_SUCCESSFULLY  ((byte)2,  "Processed Successfully"),
    MSG_SUPPRESSED          ((byte)98, "Msg suppressed before processing"),
    PROCESSED_ERROR         ((byte)99, "Processed With Error");

    private final Byte statByte; 
    private final String  statusDesc;
    ProcStat(Byte statByte, String statusDesc)
    {
        this.statByte = statByte;
        this.statusDesc = statusDesc;
    }
    @Override
    public String toString()
    {
        return statusDesc;
    }
    protected static ProcStat getProcStat(Byte procStat)
    {
        if (READY_FOR_PROCESSING.statByte.equals(procStat))             
        {
            return READY_FOR_PROCESSING;
        }           
        else if (BEING_PROCESSED.statByte.equals(procStat))             
        {
            return BEING_PROCESSED;
        }
        else if (PROCESSED_SUCCESSFULLY.statByte.equals(procStat))
        {   
            return PROCESSED_SUCCESSFULLY;
        }
        else if (MSG_SUPPRESSED.statByte.equals(procStat))
        {   
            return MSG_SUPPRESSED;
        }           
        else if (PROCESSED_ERROR.statByte.equals(procStat))
        {
            return PROCESSED_ERROR;                 
        }
        else
        {
            return NOT_READY;
        }
    }
    public Byte getStatByte()
    {
        return this.statByte;
    }
};

Proc_Statは、データベーステーブルのNumberフィールドを参照しており、各行の数値proc_statの対応する文字列を表示する列をページに表示する必要があります。これは、xhtmlページで同じデータクラスの他のフィールドをレンダリングする方法です。

id = "dataTable" name = "dataTable" var = "data"

列挙型の出力値を指定するにはどうすればよいですか?次のように指定しますか:value = "#{data.procstat.toString()}" ??

4

1 に答える 1

0

メソッドと同じことを行うマネージドBeanの1つにメソッドを作成する必要があると思いますgetProcStat。何かのようなもの:

public String getProcStat(Byte byte) {
    return ProcState.getProcState(byte).toString();
}

xhtmlの場合:

value="#{yourBean.getProcState(data)}"
于 2012-08-06T12:03:42.347 に答える