problema con Custom Tags
Publicado por Oscar (21 intervenciones) el 11/09/2007 22:18:40
Saludos
Estoy aprendiendo a usar los custom tags y no logor ahcer que funcione mi ejemplo. El archivo java compila prefectamente, pero al correr la aplicacion JSP me sale el siguiente Error:
''Unable to initialize TldLocationsCache"
Trabajo con Tomcat 5
y mi ubicacion de los archivos es el siguiente:
Mi aplicacion/WEB-INF/tlds/oreilly.tld
Mi Aplicacion//WEB-INF/classes/oreilly/tags/ejemplos/Hello.class
Mi aplicacion/Saluda.jsp
saludos y gracias de antemano.
les anexo mis archivos de configuracion.
------------------------------------------------------------------------------
oreilly.tld
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname>sample</shortname>
<uri> </uri>
<info>OReilly Sample Tag library</info>
<tag>
<name>hello</name>
<tagclass>oreilly.tags.ejemplos.Hello</tagclass>
<bodycontent>empty</bodycontent>
<description>Imprime un mensaje</description>
<attribute>
<name>name</name>
<required>false</required>
<rtexpvalue>false</rtexpvalue>
</attribute>
</tag>
</taglib>
-------------------------------------------------------------------------------
Saluda.jsp
<%@taglib uri="/oreilly.tld" prefix="or" %>
<html>
<head>
<title>Your Standard Hello World Demo</title>
</head>
<body bgcolor="#ffffff">
<hr />
<or:hello name="Sue"/>
<br />
<hr />
</body>
</html>
-------------------------------------------------------------------------------------
y el java es :
package oreilly.tags.ejemplos;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
public class Hello extends TagSupport {
private String name=null;
public void setName(String value){
name = value;
}
public String getName(){
return(name);
}
public int doStartTag() {
try {
JspWriter out = pageContext.getOut();
out.println("<table border=\"1\">");
if (name != null)
out.println("<tr><td> Hello " + name + " </td></tr>");
else
out.println("<tr><td> Hello World </td></tr>");
} catch (Exception ex) {
throw new Error("All is not well in the world.");
}
// Must return SKIP_BODY because we are not supporting a body for this
// tag.
return SKIP_BODY;
}
public int doEndTag(){
try {
JspWriter out = pageContext.getOut();
out.println("</table>");
} catch (Exception ex){
throw new Error("All is not well in the world.");
}
return SKIP_PAGE; // <-----------------esta linea agregada por mi, porque no la tenia el //ejemplo original
}
}
--------------------------------------------------------------------------------------------------------------------------
Estoy aprendiendo a usar los custom tags y no logor ahcer que funcione mi ejemplo. El archivo java compila prefectamente, pero al correr la aplicacion JSP me sale el siguiente Error:
''Unable to initialize TldLocationsCache"
Trabajo con Tomcat 5
y mi ubicacion de los archivos es el siguiente:
Mi aplicacion/WEB-INF/tlds/oreilly.tld
Mi Aplicacion//WEB-INF/classes/oreilly/tags/ejemplos/Hello.class
Mi aplicacion/Saluda.jsp
saludos y gracias de antemano.
les anexo mis archivos de configuracion.
------------------------------------------------------------------------------
oreilly.tld
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname>sample</shortname>
<uri> </uri>
<info>OReilly Sample Tag library</info>
<tag>
<name>hello</name>
<tagclass>oreilly.tags.ejemplos.Hello</tagclass>
<bodycontent>empty</bodycontent>
<description>Imprime un mensaje</description>
<attribute>
<name>name</name>
<required>false</required>
<rtexpvalue>false</rtexpvalue>
</attribute>
</tag>
</taglib>
-------------------------------------------------------------------------------
Saluda.jsp
<%@taglib uri="/oreilly.tld" prefix="or" %>
<html>
<head>
<title>Your Standard Hello World Demo</title>
</head>
<body bgcolor="#ffffff">
<hr />
<or:hello name="Sue"/>
<br />
<hr />
</body>
</html>
-------------------------------------------------------------------------------------
y el java es :
package oreilly.tags.ejemplos;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
public class Hello extends TagSupport {
private String name=null;
public void setName(String value){
name = value;
}
public String getName(){
return(name);
}
public int doStartTag() {
try {
JspWriter out = pageContext.getOut();
out.println("<table border=\"1\">");
if (name != null)
out.println("<tr><td> Hello " + name + " </td></tr>");
else
out.println("<tr><td> Hello World </td></tr>");
} catch (Exception ex) {
throw new Error("All is not well in the world.");
}
// Must return SKIP_BODY because we are not supporting a body for this
// tag.
return SKIP_BODY;
}
public int doEndTag(){
try {
JspWriter out = pageContext.getOut();
out.println("</table>");
} catch (Exception ex){
throw new Error("All is not well in the world.");
}
return SKIP_PAGE; // <-----------------esta linea agregada por mi, porque no la tenia el //ejemplo original
}
}
--------------------------------------------------------------------------------------------------------------------------
Valora esta pregunta


0