如何公开JSTL自定义标记值

时间:2013-02-10 17:28:37

标签: jstl

以下类是自定义标记的实现。

public class TextColorTag extends TagSupport {

    private String var;
    //getters & setters

    public int doStartTag() throws JspException {
         String color = "#eee";
         setValue(var, color);
         JspWriter out = pageContext.getOut();
         out.print(color);
    }

后来在我的jsp中,当我尝试使用textColor时,我发现它是空的

the color is: <bv:textColor var="textColor" />    <!-- Ok!, display #eee -->

the color is: ${textColor} <!-- Ko!, empty. Why? -->

当然在tld我声明了一个属性var。

如何公开自定义标记的结果?

1 个答案:

答案 0 :(得分:0)

我在javax.servlet.jsp.jstl.core.ConditionalTagSupport中找到了响应

要公开变量,请替换以下内容:

setValue(var, color);

通过

pageContext.setAttribute(var, color);