2013-05-23 8 views
8

は、データベースから取得した動的な値を返します。たとえば、値がNINEの場合は、@[email protected]のStruts 2つの動的変数

@[email protected]9を返すようにJavaクラスの値を設定しています。これまでのところ、値Iが

<s:text name="%{getText(#number)}" /> 

を使用する場合には9を返しますが、私はプロパティタグに

<s:property value="%{getText(#number)}" /> 
<s:property value="%{#number}" /> 
<s:property value="#number" /> 
<s:property value="%{getText('%{getText(#number)}')}" /> 

どちらを使用しようとしたとき、それは間違って表示されたテキストタグで問題なく表示することができ

上記のすべての例は私に@[email protected]という値を与えます。私は私がそれらを使用できるように値を表示する方法についての正しい方法をコピーしたいので、私はプロパティタグから値を取得しようとする理由があるかの例を以下のようにタグ:

<s:if test="#number == 9"> 
    do something 
</s:if> 

または

<s:if test="%{getText(#number)} == 9"> 
    do something 
</s:if> 

CommonConstant:

package xxx; 

public abstract class CommonConstant { 
    public static final int NINE = 9; 
    public static final int NINEONE = 91; 
    public static final double ADMIN_PGM = 1.4; 
    // ... omitted ... 
} 

誰も私を助けることができますか?

+0

「CommonConstant」とは何ですか?それは 'enum'ですか?コードを表示できますか? –

+1

'getText'メソッドは、ローカライズされたテキストを取得するためのメソッドです。なぜあなたはそれをそんなに使用していますか? –

+0

'パッケージxxx; パブリック抽象クラスCommonConstant { \t = 9ナインのpublic static final int型。 \tパブリックstatic final int NINEONE = 91; \tパブリックstatic final double ADMIN_PGM = 1.4; \t ...省略... } ' –

答えて

6

これは、回避策のように思えるが、あなたは、文字列を評価するためにattrを使用することができます。

+0

うわーそれは働く..ありがとう男! –

6

括弧で囲まれた式を使用して、式の結果を評価できます。

<s:if test="#number(0) == 9"> 
    <s:property value="%{#number(0)}" /> 
</s:if> 

OGNL言語ガイドのExpression Evaluationをご覧ください。

+0

ええ、それも働く..ありがとう –

関連する問題