java - SpringMVC 3 和 Tiles 2 页面标题的本地化

标签 java apache spring tiles

我有一个使用 Spring 3、Apache Tiles 2 和 Maven 的项目设置。 在我实现 Tiles 之前,我使用 messages.properties 文件来动态填充网页的标题(出现在 head 和 title 标签之间的部分)。这样做的原因是为了将来允许本地化。但是,由于我已经集成了磁贴,所以 tiles.xml 文件似乎控制着我页面的标题。

有没有办法改变这一点,所以页面标题来 self 用作页面正文的每个 jsp 的 messages.properties?

tiles.xml 是:

 <definition name="base.definition" template="/WEB-INF/views/layouts/layout.jsp">
    <put-attribute name="title" value="" />
    <put-attribute name="header" value="/WEB-INF/views/includes/header.jsp" />
    <put-attribute name="menu" value="/WEB-INF/views/includes/menu.jsp" />
    <put-attribute name="body" value="" />
    <put-attribute name="footer" value="/WEB-INF/views/includes/footer.jsp" />
</definition>

<definition name="home" extends="base.definition">
    <put-attribute name="title" value="Welcome from Tile" />
    <put-attribute name="body" value="/WEB-INF/views/home.jsp" />
</definition>

<definition name="new-deal-input" extends="base.definition">
    <put-attribute name="title" value="New Deal" />
    <put-attribute name="body" value="/WEB-INF/views/new-deal-input.jsp" />
</definition>

如果您看到“Welcome from Tile”或“New Deal”作为标题,我宁愿这条消息来自 messages.properties。我尝试将消息放在“正文”页面的标题标签中,但无济于事。

项目在 GitHub 上搭建,你可以看看这个 URL:Group-Deal-Clone

最佳答案

另一个变体,没有 c:set:

在tiles-defs.xml中:

<definition name="index" template="/WEB-INF/tiles/base.jsp">
  <put-attribute name="title" value="home.title"/>
  <put-attribute name="header" value="/WEB-INF/includes/iheader.jsp"/>
  ...
</definition>

在 base.jsp 中:

<head>
 <tiles:importAttribute name="title" />
 <title><spring:message code="${title}"></spring:message></title>
</head>

在messages.properties中:

home.title=Homepage title

关于java - SpringMVC 3 和 Tiles 2 页面标题的本地化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6937810/

相关文章:

java - 带偏移量的 double 最接近的倍数 java

java - 查找句子/字符串中的子字符串

windows和apache下的Python作为FastCGI

Java - 如何使用 Apache CXF 在服务器端检索客户端设置的 HTTP 超时

java - 交换链表算法的相邻元素

JavaFX 按钮对第二次单击而不是第一次单击使用react

java - 何时为 apache httpclient 调用 ServiceUnavailableRetryStrategy

java - Spring Boot cron 表达式问题 - 禁用启动时运行

组合中的 Spring 验证

Spring Boot RestController : Intercept incoming requests