簡體   English   中英

在Spring中創建可重用的GUI組件

[英]Create reusable GUI components in Spring

我有一個使用Spring MVC的項目,最近我在頁面上添加了Apache Tiles的用法。 但是我必須在許多不同的頁面上顯示model Book 我可以在Spring以某種方式定義Book GUI Component嗎? 我想要這樣的東西:

我可以這樣定義一個GUI Componentbook.viewcomponent

<h1>${book.title}</h1>
<span>${book.summary}</span>

通過傳遞model對象booklist.jsp來使用此組件的第一頁

<!--some import to let me insert with prefix:"insert"-->
<html>
<head>...</head>
<body>
<insert page="book.jsp" model="${book}">
</body>
</html>

通過傳遞model對象morebooks.jsp來使用該組件的第二頁

<!--some import to let me insert with prefix:"insert"-->
<html>
<head>...</head>
<body>
<insert page="book.jsp" model="${book}">
</body>
</html>

我認為您可以使用include或tags做到這一點。 包括:

<!-- There's a book in the request -->
<jsp:include page="book.jsp" />

在這種情況下,如果book.jsp文件中包含${book.title}的內容,則在包含片段之前,請求中必須存在一個名為“ book”的Book對象。

有了標簽 ,它就更加正式了。 您需要將標記及其參數定義寫入文件中。 以下是您的book.tagx標記,例如WEB-INF/tags/mytags

<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0">
  <jsp:directive.attribute name="book" type="your.package.Book" required="true" />
  <h1>${book.title}</h1>
  <span>${book.summary}</span>
</jsp:root>

然后,您可以導入此標記,添加引用其保存位置的名稱空間:

xmlns:mytags="urn:jsptagdir:/WEB-INF/tags/mytags"

最后使用它:

<mytags:book book="${book}" />

如您所見,此處將參數傳遞給標記,而不是在請求中隱式傳遞。

有關創建標簽的更多信息: https : //docs.oracle.com/cd/E19316-01/819-3669/6n5sg7b5m/index.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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