私を助けてください!このコードをjspxページで何度も作成します
<c:if test="${not empty message}">
<div id="message">
<div class="${message.type}">${message.message}</div>
</div>
</c:if>
(たとえば) Rails で:partial =>を使用したように、一度タグを作成してページに含めることはできますか?
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 フラグメントにすることもできます。タグファイルにはいくつかの利点があり、単純なインクルードにはいくつかの利点があります。これは最も理にかなっていますが、しばしば議論の問題です。
私は個人的にタグを好む傾向があります。
次のように簡単なタグを作成できます。
<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 リンクをご覧ください。