[英]Create reusable GUI components in Spring
我有一個使用Spring MVC
的項目,最近我在頁面上添加了Apache Tiles
的用法。 但是我必須在許多不同的頁面上顯示model Book
。 我可以在Spring
以某種方式定義Book GUI Component
嗎? 我想要這樣的東西:
我可以這樣定義一個GUI Component
: book.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.