在JSPX中创建自定义标记

时间:2013-01-11 19:27:08

标签: java jsp jspx

请帮帮我! 我在任何jspx页面中创建了很多次此代码

<c:if test="${not empty message}">
    <div id="message">
        <div class="${message.type}">${message.message}</div>
    </div>
</c:if>

我可以创建一次标记并将其包含在我的页面中,例如在Rails中使用:partial =&gt;

2 个答案:

答案 0 :(得分:1)

创建基于JSP的自定义标记并传入消息,例如:

<%@ attribute name="message" required="true" %>
<c:if test="${not empty message}">
    <div id="message">
        <div class="${message.type}">${message.message}</div>
    </div>
</c:if>

请参阅more details,包括如何使用标记,放置标记的位置等。有关所有血腥的详细信息,请参阅Java EE 5 custom tag docs

基于JSP的自定义标记(或多或少)等同于partials,尽管您也可以简单地<jsp:include> JSP片段。标签文件有一些优点,简单包含有一些优点 - 这使得最有意义的往往是一个争论的问题。

我个人倾向于标签,我发现它们更具沟通性。

答案 1 :(得分:0)

您可以按如下方式创建简单标记。

     <jsp:root xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:fn="http://java.sun.com/jsp/jstl/functions" 
xmlns:util="urn:jsptagdir:/WEB-INF/tags/util" xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0">
      <jsp:output omit-xml-declaration="yes" />

      <jsp:directive.attribute name="description" type="java.lang.String" required="false" rtexprvalue="true" description="Some descripton" />
    </jsp:root>

请查看@Dave Newton链接,了解如何设置它的文档。