Tengo problemas con las funciones de JavaScript y EL (JSF 1.2, Facelets, Richfaces 3.3.0GA). Tengo una página que incluye otra composición:Cadenas de concatenación en JSF/JSP EL y Javascript
<ui:include src="/pages/panels/examinationPanel.xhtml">
<ui:param name="prefix" value="new" />
Y en mi ui:composition
Quiero añadir el prefix
a cada ID. Por ejemplo:
<rich:modalPanel id="#{prefix}_examinationPanel">
Eso funciona bien.
Pero el problema viene cuando quiero acceder a los componentes en funciones como oncomplete
No puedo conseguir que concatene las cadenas correctamente. Por ejemplo
oncomplete="#{rich:component('#{prefix}_examinationPanel')}.show();"
He tratado con fn:join
también, pero no ejecuta la función, ya que se queja de errores cuando encuentra el carácter "#". Por ejemplo:
oncomplete="#{rich:component(fn:join(#{prefix},'examinationPanel'))}.show()"
tiros
SEVERE: Servlet.service() for servlet Faces Servlet threw exception org.apache.el.parser.ParseException: Encountered "fn:join(#" at line 1, column 33.
Encountered "fn:join(#"
Diferentes errores si me preparo con corchetes o con # y soportes.
¿Qué estoy haciendo mal?
Y otra pregunta, en un comando condicional como
oncomplete="#{a}?#{b}:#{c}"
¿Cómo puedo "grupo" para poder ejecutar más acciones cuando es verdadero o falso? Por ejemplo algo como esto:
oncomplete="#{a}?(#{b}#{f}):(#{c}#{d}#{e})"
He intentado con paréntesis pero no lo analiza correctamente.
Gracias de antemano.
Facelets or JSP? – Bozho
Estoy usando facelets. Edité la publicación para agregar esa información, que de hecho es relevante – pakore