Pregunta

Estoy intentando crear un componente struts2 usando freemarker. Creé un archivo ftl con un código como este:

<script type="text/javascript" src="${parameters.library?default('')}"></script>

Que espera que un parámetro llamado library se pase al componente. Si el parámetro está ausente, el valor predeterminado es un String en blanco.

En mi página JSP, me refiero al componente como este:

<s:component template="mytemplate.ftl">
    <s:param name="library" value="/scripts/mylibrary.js"/>
</s:component>

Desafortunadamente, el valor para el parámetro de la biblioteca no se está configurando. Siempre es un String en blanco.

Estoy usando los consejos de este tutorial y parece que el < La etiqueta code> s: param debe pasar el parámetro a la plantilla y ponerlo a disposición. ¿Que me estoy perdiendo aqui?

¿Alguien tiene alguna experiencia en la construcción de estos componentes que podrían arrojar algo de luz?

Gracias.

¿Fue útil?

Solución

envíe el parámetro con comillas simples

<s:component template="mytemplate.ftl">
    <s:param name="library" value="'/scripts/mylibrary.js'"/>
</s:component>

Otros consejos

Finalmente encontré alguna sintaxis en los documentos que funciona. Tengo que referirme al parámetro de esta manera:

<script type="text/javascript" src="${parameters.get('library')?default('')}">
</script>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top