簡體   English   中英

將呈現的JSP片段作為參數傳遞給另一個JSP

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM