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

i messaggi di errore si legge come di seguitoNetBeans 7.0 mostra errore nel Struts2 tag select .. NetBeans versione 6.9 non mostra questo errore

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

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

risposta

6

Netbeans 7 utilizza JSP EL 2.1 che utilizza il carattere # ora.

Per me (Netbeans IDE 7.0 RC1) compila bene e funziona anche se la linea è contrassegnata da un errore. Se glassfish non eseguirà il jsp, il seguente collegamento mostra come disabilitare JSP EL in un contenitore JSP 2.1 (parte inferiore del seguente link).

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

Probabilmente la soluzione più semplice in questo momento è quello di aggiungere la classe della mappa:

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

Trovato in questa discussione: http://struts.1045723.n5.nabble.com/s2-JSF-JSP-EL-vs-OGNL-EL-td3528303.html

Per informazioni sul JSP EL 2.1 See : http://jcp.org/aboutJava/communityprocess/final/jsr245/index.html


Probabilmente stai solo mettendo in mostra il problema, ma per essere sicuro, se fornisci un elenco piuttosto che una mappa, il valore restituito al server sarà lo stesso del valore visualizzato. Così il seguente produce la stessa casella di selezione e non produce un errore:

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

Ho passato un po 'di tempo a vedere se potessi cambiare la versione JSP EL in Netbeans 7 senza successo, ha cercato anche di trovare un modo per disattivare Errore dell'errore JSP EL senza successo. Quindi, se devi utilizzare le mappe OGNL nel tuo JSP, disabilita JSP EL (che non è un'opzione interessante per alcuni) o dichiara esplicitamente la mappa come mostrato.

+0

Poiché questa risposta non è stata accettata, puoi chiarire ulteriormente che cosa stai cercando? – Quaternion

+0

# @ java.util.LinkedHashMap @ {"foo": "valore foo", "bar": "valore barra"} questo ha risolto il problema. Grazie mille Quaternion. Sei una stella. – seenimurugan

+0

Ho risolto il problema con il modulo completo ma ancora in alcuni punti in cui utilizzo s: property, s: iterator in javascript mi ​​sta dando un errore e la cosa più strana è dare un errore sulla pagina, senza indicare il numero di riga. Sono stato in grado di tracciare la posizione e sono sicuro al 100% che, qualcosa di normale anche dà errore se incluso in javascript. Qualche soluzione? –

Problemi correlati