1

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

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

我可以创建一次标签并将其包含到我的页面中,例如(例如)在我使用的 Rails 中:partial =>吗?

4

2 回答 2

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>

查看更多详细信息,包括如何使用标签、将标签放在哪里等。有关所有血腥细节,请参阅Java EE 5 自定义标记文档

基于 JSP 的自定义标记(或多或少)相当于部分,尽管您也可以简单地使用<jsp:include>JSP 片段。标记文件有一些优点,简单的包含有一些优点——这通常是一个争论的问题。

我个人倾向于使用标签,我发现它们更具交流性。

于 2013-01-11T19:52:52.473 回答
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 链接到有关如何设置的文档。

于 2013-01-11T19:58:26.163 回答