[英]Passing a rendered JSP fragment as an argument to another JSP
我有一個JSP片段,看起來像這樣:
<div>
<div>
<!-- 1 -->
<h1>Hello Everyone!</h1>
</div>
<div>
<!-- 2 -->
<jsp:include page="./anotherJspFragment.jsp">
<jsp:param name="someName" value="someValue"/>
</jsp:include>
</div>
</div>
該片段在JSP頁面中重復了幾次-已被復制並粘貼,只有標記為“ 1”和“ 2”的部分在每次出現之間都發生了變化。
該片段的每個實例都include
一個具有不同參數的不同JSP頁面。
一些看起來像這樣:
<jsp:include page="./firstJspFragment.jsp" />
而其他人看起來像這樣:
<jsp:include page="./secondJspFragment.jsp">
<jsp:param name="someName1" value="someValue1"/>
<jsp:param name="someName2" value="someValue2"/>
</jsp:include>
我想創建一個包含所有樣板標記的可重用JSP片段,我可以使用它來減少重復。 此JSP片段將需要將呈現的JSP片段作為參數( firstJspFragment.jsp
或secondJspFragment.jsp
等)。 這可能嗎? 還是我可以使用其他方法?
好的,所以看起來這樣做的方法是在WEB-INF/tags
創建一個名為myTag.tag
WEB-INF/tags
,其中包含樣板標記
http://docs.oracle.com/javaee/1.4/tutorial/doc/JSPTags5.html
然后,您可以將渲染的頁面作為正文傳遞進去,例如
<test:myTag title="Hello Everyone">
<jsp:include page="./firstJspFragment.jsp" />
</test:myTag>
然后,將在標記中<jsp:doBody />
出現的位置渲染此JSP片段,例如
<%@ attribute name="title" required="true" %>
<div>
<div>
<!-- 1 -->
<h1>${title}</h1>
</div>
<div>
<!-- 2 -->
<jsp:doBody />
</div>
</div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.