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

los mensajes de error se lee de la siguiente maneraNetBeans 7.0 muestra error en Struts2 seleccione la etiqueta .. NetBeans versión 6.9 no muestra este error

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

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

Respuesta

6

Netbeans 7 utiliza JSP EL 2.1 que utiliza el carácter # ahora.

Para mí (Netbeans IDE 7.0 RC1) compila bien y funciona aunque la línea está marcada con un error. Si glassfish no ejecutará el jsp, el siguiente enlace muestra cómo desactivar JSP EL en un contenedor JSP 2.1 (parte inferior del siguiente enlace).

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

Probablemente la solución más fácil en este momento es añadir la clase del mapa:

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

encontrado en este hilo: http://struts.1045723.n5.nabble.com/s2-JSF-JSP-EL-vs-OGNL-EL-td3528303.html

Para obtener información sobre la JSP EL 2.1 Ver : http://jcp.org/aboutJava/communityprocess/final/jsr245/index.html


Probablemente solo muestre el problema, pero solo para estar seguro, si proporciona una lista en lugar de un mapa, entonces el valor devuelto al servidor será el mismo que el valor mostrado. Así que la siguiente produce el mismo cuadro de selección y no produce un error:

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

pasé un poco de tiempo de ver si podía cambiar la versión JSP EL en Netbeans 7 sin éxito, también trató de encontrar una manera de desactivar JSP EL error comprobación sin éxito. Entonces, si debe usar mapas OGNL en su JSP, deshabilite JSP EL (que no es una opción atractiva para algunos) o explícitamente declare el mapa como se muestra.

+0

Dado que esta respuesta no ha sido aceptada, ¿puede aclarar aún más qué es lo que está buscando? – Quaternion

+0

# @ java.util.LinkedHashMap @ {"foo": "valor de foo", "barra": "valor de barra"} esto resolvió el problema. Muchas gracias Quaternion. Eres una estrella. – seenimurugan

+0

Lo resolví usando el formulario completo, pero aún en algunos lugares donde uso s: property, s: iterator en javascript me da error y lo más extraño es que está dando error en la página, sin señalar el número de línea. Pude rastrear la ubicación y estoy 100% seguro de que algo normal incluso da error cuando se incluye en javascript. Alguna solución ? –

Cuestiones relacionadas