Sziasztok,
Az alábbi kódban ha a "condition" nem teljesül, tehát SKIP_BODY következik be, az EVAL_PAGE nem fut le. Azért, mert akkor a doEndTag sem fut le? Ha igen, hogyan lehet megoldani, hogy mégis meglegyen az EVAL_PAGE? Ebben a témakörben eléggé új vagyok :)
Azt szeretném elérni, ha ebből nem derülne ki, hogy a JSP-mben feltétel alapján írok ki valamit vagy sem.:
{px:mytag someParam="ertekeldki"}ha az átadott érték a tag-ben megadott feltételeknek megfelel, ezt kiírom szépen{/px:mytag}
(hiába tettem code blokkba, nem jelent meg a kacsacsőr miatt szóval ezért lett {} :D)
Előre is köszi a válaszokat!
public class SomeHandler extends BodyTagSupport {
private String someParam;
public SomeHandler() {
super();
}
public void setSomeParam(String name) {
someParam = name;
}
@Override
public int doStartTag() throws JspException {
if (condition) {
return SKIP_BODY;
} else {
return EVAL_BODY_BUFFERED;
}
}
@Override
public int doEndTag() throws JspException {
try {
if (bodyContent != null) {
bodyContent.writeOut(bodyContent.getEnclosingWriter());
}
} catch (IOException e) {
throw new JspException("Error: " + e.getMessage());
}
bodyContent.clearBody();
return EVAL_PAGE;
}
}