D
Daniel Pitts
So, I've created a tag which takes an optional attribute. It seems to
be retaining the value of the attribute between invocations of the tag.
--- CUT -- MyTag.java -- CUT ---
import javax.servlet.jsp.tagext.TagSupport;
import javax.servlet.jsp.JspException;
public class MyTag extends TagSupport {
private Object myArgument;
private static int counter = 0;
public int doStartTag() throws JspException {
if (myArgument == null) {
myArgument = new Integer(++counter);
}
try {
pageContext.getOut().print(myArgument);
} catch (Exception e) {
throw new JspException(e);
}
return SKIP_BODY;
}
public int doEndTag() throws JspException {
return EVAL_PAGE;
}
public Object getMyArgument() {
return myArgument;
}
public void setMyArgument(Object myArgument) {
this.myArgument = myArgument;
}
}
--- END -- MyTag.java -- END ---
In my JSP I have:
<mytags:myTag />
<mytags:myTag />
<mytags:myTag myArgument="help" />
I would expect the output to be
1
2
help
but the output is
1
1
help
My question is, where is the appropriate location to reset the
myArgument reference? at doEndTag? release? somewhere else?
Or, am I going about this the wrong way altogether? Keeping in mind
this is a simplified version of my actual usecase.
Thanks,
Daniel.
(x-posted to comp.lang.java.(programmer/help/gui), follow-up to
programmer)
be retaining the value of the attribute between invocations of the tag.
--- CUT -- MyTag.java -- CUT ---
import javax.servlet.jsp.tagext.TagSupport;
import javax.servlet.jsp.JspException;
public class MyTag extends TagSupport {
private Object myArgument;
private static int counter = 0;
public int doStartTag() throws JspException {
if (myArgument == null) {
myArgument = new Integer(++counter);
}
try {
pageContext.getOut().print(myArgument);
} catch (Exception e) {
throw new JspException(e);
}
return SKIP_BODY;
}
public int doEndTag() throws JspException {
return EVAL_PAGE;
}
public Object getMyArgument() {
return myArgument;
}
public void setMyArgument(Object myArgument) {
this.myArgument = myArgument;
}
}
--- END -- MyTag.java -- END ---
In my JSP I have:
<mytags:myTag />
<mytags:myTag />
<mytags:myTag myArgument="help" />
I would expect the output to be
1
2
help
but the output is
1
1
help
My question is, where is the appropriate location to reset the
myArgument reference? at doEndTag? release? somewhere else?
Or, am I going about this the wrong way altogether? Keeping in mind
this is a simplified version of my actual usecase.
Thanks,
Daniel.
(x-posted to comp.lang.java.(programmer/help/gui), follow-up to
programmer)