【问题标题】:The controller loads only a String object, but not an html page控制器只加载一个 String 对象,而不加载一个 html 页面
【发布时间】:2017-03-26 01:53:30
【问题描述】:

控制器只加载一个 String 对象,而不加载一个 html 页面。页面 login.html 位于目录模板中。效果是页面上的文本“登录”。项目在 Spring Boot 中。

@RestController
public class Company {

    @RequestMapping("login")
    public String company() {
        return "login";
    }
}

@SpringBootApplication
public class ComJonkSpringBootMvcApplication {

    public static void main(String[] args) {
        SpringApplication.run(ComJonkSpringBootMvcApplication.class, args);
    }
}

<!DOCTYPE HTML>
<html>
<head>
    <title>Yahoo!!</title>
</head>
<body>
    Name : <input name="name" type="text" /> Password : <input name="password" type="password" /> <input type="submit" />
</body>
</html>

【问题讨论】:

  • 一些旁注:习惯上将控制器类命名为以...Controller 结尾的东西,如果你已经在使用 Spring Boot,你也可以使用 Spring Security,它仍然需要 HTML用于登录页面,但会处理映射本身。

标签: java spring-mvc spring-boot


【解决方案1】:

如果您打算返回 JSP,请不要使用 @RestController

改用@Controller,并阅读有关@ResponseBody的文档:

表示方法返回值的注解应该绑定到 网络响应正文。支持 Servlet 中带注释的处理程序方法 环境。

【讨论】:

  • 从技术上讲,HTML 页面一个 REST 响应,但 Spring 注释确实有这个限制。
  • 我现在有声明'圆形视图路径[登录]:将再次发送回当前处理程序 URL [/登录]。检查您的 ViewResolver 设置! (提示:由于默认视图名称生成,这可能是未指定视图的结果。'
  • 您应该阅读 Spring Security 入门:docs.spring.io/spring-security/site/docs/current/guides/html5//… / 通常使用 Spring 或任何库,请在使用前阅读文档。
猜你喜欢
  • 1970-01-01
  • 2013-10-21
  • 2018-06-13
  • 1970-01-01
  • 2012-03-13
  • 1970-01-01
  • 1970-01-01
  • 2017-12-08
  • 1970-01-01
相关资源
最近更新 更多