当我们使用JSTL
时,我们使用
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
导入
并使用前缀c
导入多个标签。
示例 <c:out>
<c:set>
<c:remove>
好吧,这是我用于打印输入值的简单自定义标签实现
Details.java
public class Details extends SimpleTagSupport {
StringWriter sw = new StringWriter();
@Override
public void doTag() throws JspException, IOException {
getJspBody().invoke(sw);
JspWriter out = getJspContext().getOut();
out.println(sw.toString());
}
}
message.tld
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>2.0</jsp-version>
<short-name>My Custom Tag: MyMsg</short-name>
<tag>
<name>MyMsg</name>
<tag-class>beginnersbook.com.Details</tag-class>
<body-content>scriptless</body-content>
</tag>
</taglib>
Display.jsp
<%@ taglib prefix="prep" uri="WEB-INF/tlds/message.tld"%>
<prep:MyMsg>Test Test</prep:MyMsg>
因此,如果我想在相同的前缀prep
中添加另一个标签,例如: <prep:cube>
,以将三次数值打印输出到输入的数字,应该怎么做?
我可以在 message.tld 中加入这样的标签吗?
<tag>
<name>cube</name>
<tag-class>com.tag.Details</tag-class>
<body-content>scriptless</body-content>
</tag>
然后如何覆盖doTag()
方法?还是在 Details.java 中创建另一个方法?
请帮助。
谢谢。