Hallo zusammen
Ich habe gesucht und geflucht. Man muß wohl in ein Buch investieren, um einmal die JSP Custom Tags richtig erklärt zu bekommen. Nicht mal die SUN Tutorials taugen was.
Wie werden denn nun richtig Variablen in JSP Tags angelegt und Werte übergeben? Hier mein Code:
Das ist die Tag Klasse.
Hier ist die TEI Klasse dazu.
Das ist meine TLD:
Und das ist schließlich meine JSP:
Leider kann ich keine Fehlermeldung präsentieren. Die Software, auf der wir aufsetzen, fängt grandios alles ab. Es funzt halt nicht.
Das ist ja Standard, deshalb hoffe ich auf eine Lösung. Daß das mit dem 'zipFormat' komisch aussieht, kann ich auch noch sehen. Ich habe aus dem üblen Tutorials und Code-Snipsel im Inet diverses Pattern-Matching betrieben. Klappt alles nicht.
Irgendeine Idee?
Lieben Gruß
André
Ich habe gesucht und geflucht. Man muß wohl in ein Buch investieren, um einmal die JSP Custom Tags richtig erklärt zu bekommen. Nicht mal die SUN Tutorials taugen was.
Wie werden denn nun richtig Variablen in JSP Tags angelegt und Werte übergeben? Hier mein Code:
Das ist die Tag Klasse.
Code:
public class ForEachZipAATag extends BodyTagSupport
{
String group = null;
int index = 0;
String[] zipActions = new String[] {
Constants.cmdAssetActionZip,
Constants.cmdAssetActionZipMacOS };
public void setGroup(String group)
{
this.group = group;
}
public String group()
{
return group;
}
@Override
public int doStartTag() throws JspException
{
if (index == 0)
{
pageContext.setAttribute(group, zipActions[index++]);
return (EVAL_BODY_AGAIN);
}
return super.doStartTag();
}
@Override
public int doAfterBody() throws JspException
{
if (index < zipActions.length)
{
pageContext.setAttribute(id, zipActions[index++]);
return (EVAL_BODY_AGAIN);
}
index = 0;
return SKIP_BODY;
}
@Override
public int doEndTag() throws JspException
{
index = 0;
return super.doEndTag();
}
}
Hier ist die TEI Klasse dazu.
Code:
public class ForEachZipAATei extends TagExtraInfo
{
public ForEachZipAATei()
{
}
public VariableInfo[] getVariableInfo(TagData data)
{
Object groupAttribute = data.getAttribute("group");
if (groupAttribute == null || groupAttribute == TagData.REQUEST_TIME_VALUE)
return null;
String group = (String)groupAttribute;
String type = data.getAttributeString("group");
// if (type == null)
type = "java.lang.String";
VariableInfo groupVariableInfo = new VariableInfo(group, type, true, VariableInfo.NESTED);
VariableInfo[] variableInfos = new VariableInfo[] { groupVariableInfo };
return variableInfos;
}
}
Das ist meine TLD:
Code:
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname>ForEachZipAA</shortname>
<tag>
<name>ForEachZipAA</name>
<tagclass>[PACKAGE-NAME].ForEachZipAATag</tagclass>
<teiclass>[PACKAGE-NAME].ForEachZipAATei</teiclass>
<bodycontent>jsp</bodycontent>
<attribute>
<name>group</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
Und das ist schließlich meine JSP:
Code:
<select id="assetActionList">
<dam:ForEachZipAA group="zipFormat">
<option>{$zipFormat}</option>
</dam:ForEachZipAA>
</select>
Leider kann ich keine Fehlermeldung präsentieren. Die Software, auf der wir aufsetzen, fängt grandios alles ab. Es funzt halt nicht.
Das ist ja Standard, deshalb hoffe ich auf eine Lösung. Daß das mit dem 'zipFormat' komisch aussieht, kann ich auch noch sehen. Ich habe aus dem üblen Tutorials und Code-Snipsel im Inet diverses Pattern-Matching betrieben. Klappt alles nicht.
Irgendeine Idee?
Lieben Gruß
André