从Spring MVC Velocity视图更改页面标题?

时间:2013-08-30 18:40:56

标签: java spring spring-mvc velocity

我觉得页面标题应该由视图而不是控制器或模型定义。

在Zend Framework中,我可以在视图中写这个: $this->headTitle('Signup');

这会将页面的窗口标题更改为“注册”。

如何在Java Spring MVC中使用Velocity进行视图?

我想也许我可以使用类似的东西:

$page.setTitle("Signup")

但它不起作用。

这可能类似于这个问题:https://stackoverflow.com/questions/18539645/how-to-set-head-meta-tag-from-view-layer-in-spring-mvc-velocity

P.S。我也使用Apache Tiles,所以我有一个用于layout.vm的Velocity文件(它创建HTML,HEAD,BODY等)和一个用于signup.vm的Velocity文件(它只是创建注册表单)。我希望能够在signup.vm中指定页面标题应该是什么。

1 个答案:

答案 0 :(得分:0)

您的速度视图正在生成发送到浏览器的所有HTML。您只需在页面中添加<title>元素。

<强> SignupController.java

@RequestMapping(value = "/signUp", method = RequestMethod.GET)
public ModelAndView signup() {
    ModelAndView modelView = new ModelAndView("sign_up");
    modelView.setObect("personName", "The Dude");
    return modelView;
}

<强> sign_up.vm

<html>
  <head>
    <title>Signup</title>
  </head>
  <body>
    <p>Looks like you are signing up for something, ${personName}</p>
  </body>
</html>