JSP自定义标签实现数据字典(5)
来源:未知 责任编辑:责任编辑 发表时间:2014-01-20 07:53 点击:次
EVAL_BODY_AGAIN:请求继续处理body,返回自doAfterBody(),这个返回值在你制作循环tag的时候是很有用的
预定的处理顺序是:doStartTag()返回SKIP_BODY,doAfterBodyTag()返回SKIP_BODY,doEndTag()返回EVAL_PAGE
如果继承了TagSupport之后,如果没有改写任何的方法,标签处理的执行顺序是:doStartTag() ->不显示文字->doEndTag()->执行接下来的网页
如果您改写了doStartTag(),则必须指定返回值,
如果指定了EVAL_BODY_INCLUDE,则执行顺序是:doStartTag()->显示文字->doAfterBodyTag()->doEndTag()->执行下面的网页
*/
}
关于返回参数,返回具体数字也可以,不用过于纠结
然后是下拉内容实现类
Java代码
package com;
import java.io.IOException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspTagException;
import javax.servlet.jsp.tagext.BodyTagSupport;
@SuppressWarnings("serial")
public class OptionsTag extends BodyTagSupport {
@Override
public int doStartTag() throws JspException {
return EVAL_BODY_INCLUDE;
}
@Override
public int doEndTag() throws JspException {
try {
StringBuffer results = new StringBuffer("");
if ("SEX".equals(collection)) {
results.append("<option value=\"0\" selected=\"selected\">请选择</option>");
results.append("<option value=\"1\">男</option>");
results.append("<option value=\"2\">女</option>");
}
pageContext.getOut().write(results.toString());
} catch (IOException ex) {
throw new JspTagException("错误");
}
return EVAL_PAGE;
}
相关新闻>>
- 发表评论
-
- 最新评论 更多>>