[英]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.