2011-05-09 2 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> 

les messages d'erreur se lit comme suitNetBeans 7.0 indique l'erreur dans la balise select Struts2 .. NetBeans la version 6.9 ne montre pas cette erreur

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

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

Répondre

6

Netbeans 7 utilise EL JSP 2.1 qui utilise le caractère # maintenant.

Pour moi (Netbeans IDE 7.0 RC1) il compile bien et fonctionne bien que la ligne soit marquée avec une erreur. Si glassfish n'exécute pas le jsp, le lien suivant montre comment désactiver JSP EL dans un conteneur JSP 2.1 (en bas du lien suivant).

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

probablement la solution la plus facile à ce moment est d'ajouter la classe de la carte:

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

Trouvé dans ce fil: http://struts.1045723.n5.nabble.com/s2-JSF-JSP-EL-vs-OGNL-EL-td3528303.html

Pour plus d'informations sur la page JSP EL 2.1 Voir : http://jcp.org/aboutJava/communityprocess/final/jsr245/index.html


Vous présentez probablement le problème, mais pour être sûr, si vous fournissez une liste plutôt qu'une carte, la valeur renvoyée au serveur sera la même que la valeur affichée. Ainsi, le code suivant produit la même boîte de sélection et ne produit pas une erreur:

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

J'ai passé un peu de temps voir si je pouvais changer la version JSP EL dans Netbeans 7 sans succès, a également essayé de trouver un moyen de désactiver JSP EL vérification d'erreur sans succès. Donc, si vous devez utiliser des cartes OGNL dans votre JSP, désactivez JSP EL (ce qui n'est pas une option attrayante pour certains) ou déclarez explicitement la carte comme indiqué.

+0

Puisque cette réponse n'a pas été acceptée, pouvez-vous clarifier davantage ce que vous cherchez? – Quaternion

+0

# @ java.util.LinkedHashMap @ {"foo": "valeur de foo", "bar": "valeur de barre"} ceci a résolu le problème. Merci beaucoup Quaternion. Tu es une étoile. – seenimurugan

+0

J'ai résolu en utilisant le formulaire complet mais toujours à certains endroits où j'utilise s: propriété, s: itérateur en javascript, il me donne une erreur et la chose la plus étrange est de donner une erreur sur la page, sans pointer le numéro de ligne. J'ai été capable de tracer l'emplacement et je suis sûr à 100% que quelque chose de normal même donne une erreur lorsqu'il est inclus dans javascript. Toute solution ? –