Wutklumpen
Mitglied
Heyho!
Seit gestern versuche ich mich nun daran, eigene Komponenten für jsf 1.2 zu entwerfen. Es gibt zwar wieder ein paar Tutorials, aber die sind meißt einfach nicht detailiert genug!
Beim Seitenaufruf mit der eigenenen Komponente beomm ich dann folgende Fehlermeldung:
org.apache.jasper.JasperException - Unable to load tag handler class "wut.klumpen.outputCrapUITag" for tag "wut
utputCrap"
Die Componentclass outputCrapUIC.java:
Die Tag-class ouputCrapUITag:
Die .TLD:
und in der Faces-Config wirds so gemappt:
und wenn ich nun
<wut
utputCrap msg="Hell World!"/>
in meiner jsp schreibe bekomm ich diese Fehlermeldung:
org.apache.jasper.JasperException - Unable to load tag handler class "wut.klumpen.outputCrapUITag" for tag "wut
utputCrap"
Jmd ne Idee?
€: die .tld und die beiden outputCrap-classes liegen im web-inf/classes/wut/klumpen/components
Seit gestern versuche ich mich nun daran, eigene Komponenten für jsf 1.2 zu entwerfen. Es gibt zwar wieder ein paar Tutorials, aber die sind meißt einfach nicht detailiert genug!
Beim Seitenaufruf mit der eigenenen Komponente beomm ich dann folgende Fehlermeldung:
org.apache.jasper.JasperException - Unable to load tag handler class "wut.klumpen.outputCrapUITag" for tag "wut

Die Componentclass outputCrapUIC.java:
Java:
package wut.klumpen.components;
import java.io.IOException;
import javax.faces.component.UIComponentBase;
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
public class outputCrapUIC extends UIComponentBase
{
public void encodeBegin(FacesContext fc) throws IOException
{
ResponseWriter writer = fc.getResponseWriter();
String msg = (String) getAttributes().get("msg");
writer.startElement("h3", this);
if(msg != null)
writer.writeText(msg, "msg");
else
writer.writeText("Hmm, dein msg war wohl null! Schade eigentlich!", null);
writer.endElement("h3");
writer.startElement("p", this);
writer.writeText("Dieser Text wird aus einer customcomponent generiert!", null);
writer.endElement("p");
}
@Override
public String getFamily()
{
return "wut.klumpen.components.outputCrapUIC";
}
}
Die Tag-class ouputCrapUITag:
Java:
package wut.klumpen.components;
import javax.faces.component.UIComponent;
import javax.faces.webapp.UIComponentELTag;
public class outputCrapUITag extends UIComponentELTag
{
public String msg = null;
@Override
public String getComponentType(){return "wut.klumpen.components.outputCrap";}
@Override
public String getRendererType(){return null;}
@SuppressWarnings("unchecked")
protected void setProperties(UIComponent comp)
{
super.setProperties(comp);
comp.getAttributes().put("msg", msg);
}
public void release()
{
super.release();
this.msg = null;
}
public void setMsg(String msg)
{
this.msg = msg;
}
}
Die .TLD:
XML:
<?xml version="1.0" encoding="UTF-8"?>
<taglib xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
version="2.1">
<description>Meine Custom Components</description>
<tlib-version>1.0</tlib-version>
<short-name>wut</short-name>
<uri>http://wutklump.en/custom</uri>
<tag>
<name>outputCrap</name>
<tag-class>wut.klumpen.outputCrapUITag</tag-class>
<body-content>empty</body-content>
<attribute>
<name>binding</name>
</attribute>
<attribute>
<name>id</name>
</attribute>
<attribute>
<name>rendered</name>
</attribute>
<attribute>
<name>msg</name>
</attribute>
</tag>
</taglib>
und in der Faces-Config wirds so gemappt:
Code:
<component>
<component-type>wut.klumpen.components.outputCrap</component-type>
<component-class>wut.klumpen.components.outputCrapUIC</component-class>
</component>
und wenn ich nun
<wut

in meiner jsp schreibe bekomm ich diese Fehlermeldung:
org.apache.jasper.JasperException - Unable to load tag handler class "wut.klumpen.outputCrapUITag" for tag "wut

Jmd ne Idee?
€: die .tld und die beiden outputCrap-classes liegen im web-inf/classes/wut/klumpen/components
Zuletzt bearbeitet von einem Moderator: