我如何使用2个属性来编写一个自定义标签(只是一个模板),让我可以使用jstl标签逻辑输出一个html片段(一个html表),这可以从我的jsp调用. 这可以在没有编写java类的情况下完成,这是我在所
这可以在没有编写java类的情况下完成,这是我在所有示例中看到的.
我想要实现的是将JSP中的重复JSTL逻辑外部化为自定义标签,然后使用属性在运行时传递标签所需的动态值.
谢谢,
不要使用scriptlet!他们是一个不好的做法,他们让业务逻辑泄漏到您的视图层.您可以使用JSTL创建标签文件;这很简单This是一个很好的开始的地方.
一个例子:
mytable.tag:
<%@ attribute name="cell1" required="true" type="java.lang.String" description="Text to use in the first cell." %> <%@ attribute name="cell2" required="false" type="java.lang.String" description="Text to use in the second cell." %> <table> <tr> <td id = "cell1">${cell1}</td> <td id = "cell2">${cell2}</td> </tr> </table>
假设您的标签位于/ WEB-INF /标签中,则可以使用它:
<%@ taglib prefix="mystuff" tagdir="/WEB-INF/tags" %> <mystuff:mytable cell1="hello" cell2="world" />