首先区别“页面片段”与普通标签 :
1.标签处理类定义Fragment属性,代表了“页面片段”
2.通过<jsp:attribute> 指令为标签的指定的属性值;
标签处理类先定义一个JSPFragment类型的属性,表示允许“页面片段”;
public class FragmentTag extends SimpleTagSupport {
private JspFragment fragment;
// fragment的setter和getter方法
public void setFragment(JspFragment fragment) {
this.fragment = fragment;
}
public JspFragment getFragment() {
return this.fragment;
}
@Override
public void doTag() throws JspException, IOException {
JspWriter out = getJspContext().getOut();
out.println("<div style='padding:10px;border:1px solid black;"
+ ";border-radius:20px'>");
out.println("<h3>下面是动态传入的JSP片段</h3>");
// 调用、输出“页面片段”
fragment.invoke(null);
out.println("</div");
}
}