2017-05-23 25 views
0

は、以下のコードを参照してくださいJSPの三項演算子が常にfalseを返すのはなぜですか?

<p:column id="WorkedDay" 
    headerText="#{EManagedController.fDate}" 
    styleClass="#{EManagedController.fDate.substring(0,3) eq 
    'Sun' or 'Sat'? 'color:blue !important' : 'color:black !important'}"> 

EManagedController.fDateも、Sunを搬送コントローラからSatの値を取得し。 しかし、なぜsubstring(0,3)は常にfalseを返すのですか?

とJavaコード:

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy"); 
SimpleDateFormat df = new SimpleDateFormat("EEE dd"); 
Date date = sdf.parse(currentFortnightDate); 
Calendar cal = Calendar.getInstance(Constants.localeCosnt); 
cal.setTime(date); 
setFDate(df.format(cal.getTime())); 

とheaderText =ブラウザで月22 "フォーマット"#{EManagedController.fDate}、それは、同様にヘッダとして値を出力し、"

+0

小文字を区別しない比較ケースを試してみてください。 – 11thdimension

+3

まあ 'EManagedController.fDate.substring(0,3)eq 'Sun'または 'Sat''は期待したものを与えません。'(EManagedController.fDate.substring(0,3)eq ' Sun ')または(EManagedController.fDate.substring(0,3)eq' Sat ') 'の場合、それぞれの' String'を個別にテストする必要があります。 –

+0

@chsdk私もこのアプローチを試しましたが、問題を解決するのに役立たない。 – Vikash

答えて

0

。貴重なご回答をありがとうございました

それはコードの下で仕事をしました:。

<p:column id="WorkedDay" 
    headerText="#{EManagedController.fDate}" 
    style="background-color:#{EManagedController.fDate.substring(0,3)== 'Sat' or 
    EManagedController.fDate.substring(0,3)== 'Sun'? 
    '#e6f0ff !important' : 'none !important'}"> 
関連する問題