我知道如何使用以下属性创建自定义标记:
<my-prefix:mytag count = "5">
content
</my-prefix:mytag>
但我不知道如何使用属性作为变量创建自定义标记,如JSP核心标记库中的<c:set>
标记。
类似的东西:
<my-prefix:mytag my-var="count-loop" count = "5">
content
</my-prefix:mytag>
然后我可以使用:
${count-loop} => output "5"
答案 0 :(得分:1)
我相信您已阅读Custom Tags in JSP Pages教程,因此您知道如何声明标记属性和处理程序。然后,建议您的属性为myVar
和count
,并且您有相应的字段(String myVar
,int count
)和设置者(void setMyVar(String myVar)
,void setCount(int count)
在你的处理程序中,你需要做的就是在处理程序的doTag()
方法中添加页面上下文属性:
public void doTag() throws JspException, IOException {
// ...
getJspContext().setAttribute(myVar, count);
// ...
}
你可以在之后>>标签中使用它,所以
<my-prefix:mytag myVar="count-loop" count="5"></my-prefix:mytag>
Count: ${count-loop}
将产生以下输出:
Count: 5