Passando il parametro al componente struts2
-
07-07-2019 - |
Domanda
Sto tentando di creare un componente struts2 usando il freemarker. Ho creato un file ftl
con codice come questo:
<script type="text/javascript" src="${parameters.library?default('')}"></script>
Che si aspetta un parametro chiamato library
da passare al componente. Se il parametro è assente, per impostazione predefinita viene impostato un String
vuoto
Sulla mia pagina JSP, mi riferisco al componente in questo modo:
<s:component template="mytemplate.ftl">
<s:param name="library" value="/scripts/mylibrary.js"/>
</s:component>
Sfortunatamente, il valore per il parametro della libreria non è stato impostato. È sempre una String
vuota
Sto usando i consigli di questo tutorial e sembra che il < Il tag code> s: param dovrebbe passare il parametro nel modello e renderlo disponibile. Cosa mi sto perdendo qui?
Qualcuno ha qualche esperienza nella costruzione di questi componenti che potrebbero far luce?
Grazie.
Soluzione
invia il parametro con virgolette singole
<s:component template="mytemplate.ftl">
<s:param name="library" value="'/scripts/mylibrary.js'"/>
</s:component>
Altri suggerimenti
Alla fine mi sono imbattuto in una sintassi nei documenti che funzionano. Devo fare riferimento al parametro in questo modo:
<script type="text/javascript" src="${parameters.get('library')?default('')}">
</script>