0

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

在 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

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

4

1 回答 1

0

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

注册控制器.java

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

注册虚拟机

<html>
  <head>
    <title>Signup</title>
  </head>
  <body>
    <p>Looks like you are signing up for something, ${personName}</p>
  </body>
</html>
于 2013-08-30T21:30:26.467 回答