Spring MVC 3 と Apache Tiles 3 を使用しています。
ページの 1 つにカスタム タイトルを追加したいと考えています。このタイトルを、レイアウト jsp ではなく、特定のビュー jsp に配置したいと考えています。
これが私がやっていることです:
tiles.xml での定義
<definition name="availability" extends="base.definition">
<put-attribute name="title" expression="${requestScope.title}"/>
<put-attribute name="page" value="/WEB-INF/views/availability.jsp" />
</definition>
ここにavailability.jspがあります:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<c:set var="title" value="Availability" scope="request"/>
これがlayout.jspです(base.definitionで使用)
<title>App::<tiles:getAsString name='title' /></title>
これにより、属性のレンダリング時にタイル レイヤーでヌル ポインター例外が発生します。
ここで提案されているように、リクエストがコントローラーに送信されるときにモデルを介してタイトルを設定できますが、コントローラーではなくビュー JSP 内からこれを行いたいと考えています。
タイルがページを構成してレンダリングする方法では、これは不可能です。そうですか?