Jsp 弹簧&x2B;平铺:从视图中设置页面标题
我正在使用SpringMVC3和ApacheTiles 3 我想为我的一个页面添加自定义标题。我希望此标题位于特定视图jsp中,而不是布局jsp中 以下是我正在做的: tiles.xml中的定义Jsp 弹簧&x2B;平铺:从视图中设置页面标题,jsp,spring-mvc,apache-tiles,Jsp,Spring Mvc,Apache Tiles,我正在使用SpringMVC3和ApacheTiles 3 我想为我的一个页面添加自定义标题。我希望此标题位于特定视图jsp中,而不是布局jsp中 以下是我正在做的: tiles.xml中的定义 <definition name="availability" extends="base.definition"> <put-attribute name="title" expression="${requestScope.title}"/> <put-
<definition name="availability" extends="base.definition">
<put-attribute name="title" expression="${requestScope.title}"/>
<put-attribute name="page" value="/WEB-INF/views/availability.jsp" />
</definition>
这是可用性。jsp:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<c:set var="title" value="Availability" scope="request"/>
这是layout.jsp(由base.definition使用)
App::
渲染属性时,这会导致平铺层中出现空指针异常
当请求按照建议发送到我的控制器时,我可以通过模型设置标题,但我希望从视图JSP而不是控制器中进行设置
看起来,瓷砖组成和呈现页面的方式,这是不可能的。是这样吗 如果availability.jsp是在layout.jsp之后呈现的,则这是不可能的 如果不能更改顺序,那么我建议使用javascript更新dom中的title元素 否则,您应该考虑封装模板及其值。 也就是说,“title”元素应该在一个名为title.jsp(或head.jsp)的模板中,您可以为每个请求使用特定的title.jsp。
(每个不同的title.jsp不需要单独的定义!)这就是如何使用自定义标题(它适用于所有使用平铺的页面): 在template.jsp文件中:
<title><tiles:insertAttribute name="title" /></title>
<tiles:putAttribute name="title" value="PageTitle" />
在您的page.jsp(在您的例子中是-availability.jsp)中,使用以下命令:
<title><tiles:insertAttribute name="title" /></title>
<tiles:putAttribute name="title" value="PageTitle" />
名称=标题,通过值=页面标题设置页面标题
额外:
您可以将页面标题放在messages.properties文件中,然后按如下方式使用:
<tiles:putAttribute name="title">
<spring:message code="page.title"/>
</tiles:putAttribute>