如何定义这个简单的jsp 2.0标签

时间:2012-01-05 07:14:33

标签: jsp jsp-tags

我想定义一个非常简单的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 />

我不知道如何将检索到的文章对象设置为正文,并让它显示它的标题。

1 个答案:

答案 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}" />