Tôi đang chuyển đổi một ứng dụng web Tiles 1 hiện có thành kiến trúc Tiles 2. Tôi gặp khó khăn khi truyền các giá trị từ trang JSP đến các thuộc tính của ô.Làm cách nào để truyền giá trị từ JSP đến thuộc tính tile?
Đây là tập tin định nghĩa gạch của tôi (gạch-definition.xml)
<tiles-definitions>
<definition name="cda.layout" template="/jsp/layouts/layout.jsp">
<put-attribute name="pageTitle" value="StoryTitle" type="string"/>
<put-attribute name="pageHeader" value="StoryHeader" type="string"/>
<put-attribute name="resources" value="" type="string"/>
</definition>
</tiles-definitions>
Các layout.jsp trông giống như:
<html>
<head>
<title><tiles:insertAttribute name="pageTitle" flush="true"/></title>
</head>
<body>
...
...
<div class="content">
<h1><tiles:insertAttribute name="pageHeader" flush="true"/></h1>
</div>
...
...
</body>
</html>
Tôi có một trang câu chuyện trong đó sử dụng cách bố trí và cần phải chuyển giá trị cho thuộc tính mẫu.
<%
// create a business object and populate
String mytitle= story.getTitle();
String myheader = story.getHeader();
%>
<tiles:insertTemplate template="../layouts/layout.jsp" flush="false" >
<tiles:putAttribute name="pageTitle" value="${mytitle}"/>
<tiles:putAttribute name="pageHeader"value="${myheader}"/>
</tiles:insertTemplate>
Trong story.jsp, tôi có thể System.out.print() giá trị cho mytitle, myheader và chúng hiển thị chính xác. Tuy nhiên, các giá trị này KHÔNG được chuyển cho các thuộc tính tile.
Bất kỳ ý tưởng nào về cách sửa lỗi này?
JB, giải pháp đó đã hoạt động. Cảm ơn rất nhiều. –
Cảm ơn câu trả lời của bạn, tôi đang sử dụng giải pháp này nhưng vấn đề là đầu ra sẽ là $ {story.title} Tiêu đề của câu chuyện. Khi bạn thấy $ {story.title} sẽ được coi là biến và giá trị. Mặc dù, tôi chỉ chuyển nó từ Java chứ không phải JSP. –