2011-05-09 10 views
6
<s:select 
    name="PenaltyPercentage" 
    id="PenaltyPercentageId" 
    list="#{'7.5%':'7.5%', '15.0%':'15.0%'}" <!-- shows error in this line --> 
    headerKey="" 
    headerValue="Please Select" 
    emptyOption="false"> 
</s:select> 

エラーメッセージは、NetBeans 7は現在、#文字を使用してJSP EL 2.1を使用していますのNetBeans 7.0は、Struts2のselectタグでエラーが.. NetBeansのバージョン6.9が

Encountered ":" at line 1, column 9. 
Was expecting one of: 
"}" ... 
"." ... 
"]" ... 
">" ... 
"<" ... 
+0

関連:http://stackoverflow.com/questions/5865496/jsp-error-in-netbeans-7-0 – BalusC

答えて

6

次のように読み込み、このエラーは表示されません示しています。

私(Netbeans IDE 7.0 RC1)の場合、コンパイルは正常で、行にはエラーが表示されますが、動作します。 glassfishがjspを実行しない場合、次のリンクは、JSP 2.1コンテナ(次のリンクの一番下)でJSP ELを無効にする方法を示しています。

#@[email protected]{ "foo" : "foo value", "bar" : "bar value" } 

このスレッドで発見:

http://struts.apache.org/2.0.14/docs/ognl.html

はおそらく、この時点で最も簡単な解決策は、マップのクラスを追加することですhttp://struts.1045723.n5.nabble.com/s2-JSF-JSP-EL-vs-OGNL-EL-td3528303.html JSP EL 2.1を参照してくださいする方法については

http://jcp.org/aboutJava/communityprocess/final/jsr245/index.html


おそらく問題を示しているに過ぎませんが、マップではなくリストを指定すると、サーバーに返される値は表示された値と同じになります。だから、以下は同じ選択ボックスを生成し、エラーを生成しません:

<s:select 
    list="{'7.5%','15.0%'}" <!-- does not show error --> 
    headerValue="Please Select" 
    emptyOption="false"> 
</s:select> 

私も無効にする方法を見つけることを試みた、私は成功せず、Netbeansの7におけるJSP ELのバージョンを変更することができれば見て少し時間を費やしJSP ELエラーチェックは成功しません。したがって、JSPでOGNLマップを使用する必要がある場合は、JSP ELを無効にするか(一部では魅力的なオプションではありません)、図示のようにマップを明示的に宣言します。

+0

この回答は受け入れられていないため、探しているものをさらに明確にすることはできますか? – Quaternion

+0

#@ java.util.LinkedHashMap @ {"foo": "foo value"、 "bar": "bar value"}これは問題を解決しました。ありがとうクォータニオン。君はスター。 – seenimurugan

+0

私はフルフォームを使用して解決しましたが、私はs:property、it:iteratorをjavascriptで使用する場所でエラーが発生し、行番号を指摘せずにページにエラーが表示されます。私は場所を辿ることができ、100%確信していて、何か普通のがjavascriptに含まれているとエラーになることもあります。どんな解決策ですか? –

関連する問題