【发布时间】:2014-12-15 06:36:36
【问题描述】:
我有一个扩展 TagSupport 类的自定义 JSP 标记文件(Java 类)。在这个类中,我有计算某些东西的 doEndTag 方法,输出如下所示:
public class ScopeTag extends TagSupport {
private Scope scope;
public int doEndTag() throws JspTagException {
String content = null;
content = String.valueOf(srs.getParameterDatasByScope(scope).size()); // src is my service class
pageContext.getOut().print((content == null) ? "" : content);
return EVAL_PAGE;
}
}
现在我在我的 JSP 中使用这个标记类:
<td><i:scope type="numOfParamData" scope="${scope}"/> parameter rules</td>
现在我不想在 td 元素中打印值,而是将其存储到变量中以供进一步处理。比如说我想看看它的返回值是不是0。
我想编写 Tag Java 类,这样我就可以使用类似于 JSTL 标记 fmt:parseDate 的标记,如下所示。
<fmt:parseDate value="${now}" var="parsedEmpDate" pattern="dd-MM-yyyy" />
<p>Parsed Date: <c:out value="${parsedEmpDate}" /></p>
这里将结果(格式化数据)存入变量parsedEmpDate
那么为了实现类似 fmt:parseDate 的功能,我必须在 Tag 类中做哪些更改?
【问题讨论】: