我想定义一个非常简单的JSP 2.0标记,但不知道该怎么做。
标记用于获取系统中article
对象的信息。这很简单:
<sys:article id="123" var="article">
Title: ${aritcle.title}
</sys:article>
然后我在article.tag
下创建了一个名为WEB-INF/tags/
的文件,内容为:
<% tag import="sys.App, sys.domains.*" %>
<%@ attribute
name="id"
type="java.lang.String"
required="true"
description="the id of an article" %>
<%@ attribute
name="var"
type="java.lang.String"
required="true"
description="let invoker use it to get information" %>
<%
Article article = App.articleDao.get(id);
%>
// how to set article to the body
<jsp:doBody />
我不知道如何将检索到的文章对象设置为正文,并让它显示它的标题。
答案 0 :(得分:0)
标记文件中的密钥为variable
。
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ attribute
name="id"
required="true"
description="the id of article" %>
<%@ attribute
name="var"
required="true"
rtexprvalue="false"
description="the article object used by invoker" %>
<%@ variable
name-from-attribute="var"
description="The alias of passed 'var'"
alias="aaa"
%>
<%
Article article = getArticleById(id);
request.setAttribute("article", article);
%>
<c:set var="aaa" value="${article}" />