Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
[TAGLIBS] anidar tag en atributo
Enviado por bernatll el día 3 de julio de 2006
Hola,
tenemos definidos dos taglibs uno para la obtención de datos (data) y otro relacionado con la presentación de los contenidos (pres). Nos encontramos que en algunas páginas JSP tenemos que pintar (usando un tag de pres) datos directamente obtenidos de un tag data. Un ejemplo:
el tag pintaCaja lo tenemos definido de la siguiente manera:
<tag>
<name>pintaCaja</name>
<tag-class>com.xxxxxx.presentation.jsp.pintaCajaTag</tag-class>
<body-content>JSP</body-content>
<description>
This tag creates a box for html content
</description>
<attribute>
<name>titulo</name>
</attribute>
</tag>
y la implementación del tag:
public class pintaCajaTag extends BodyTagSupport{
....
public String getTitulo() { return Titol; }
public void setTitulo(String Titol) { this.Titol = Titol; }
....
public int doStartTag() throws JspException {
try{
pageContext.getOut().print(Titol);
}
catch (IOException e) {
throw new JspException ("Error: IOException" + e.getMessage());
}
return EVAL_PAGE;
}
public int doEndTag() throws JspException {
return EVAL_PAGE;
}
public int doAfterBody() throws JspException {
try {
BodyContent bc = getBodyContent();
String cuerpo = bc.getString();
JspWriter out = bc.getEnclosingWriter();
out.print(cuerpo);
}
catch (IOException e){
throw new JspException("Error: IOEXception" + e.getMessage());
}
return SKIP_BODY;
}
}
Actualmente cuando anidamos el tag dentro del atributo titulo simplemente no lo interpreta (y devuelve <data:getTitle (Filter)/>).