@SpringBoot应用程序 公共类HMyApplication{ 公共静态void main(String[]args){ SpringApplication.run(MyApplication.class,args); } } @Rest控制器 公共类HomeController{ @请求映射(“/”) 公共字符串索引(){ 返回“index”; } } src/main/resources/static/index.html
-
17 那是因为 @Rest控制器 是的元注释 @控制器 和 响应正文 ,这意味着它将“索引”写入响应输入流。 你应该使用 @控制器 相反,这样“索引”将被解析为视图名称。 – 奥里达尔 评论 2015年8月7日11:20 -
噢,你是对的,绝对正确。 我可能对开发 @Rest控制器 肩并肩。 无论如何,我现在使用得到以下异常 @控制器 : javax.servlet。 ServletException:无法解析名为“dispatcherServlet”的servlet中名为“index”的视图 .返回都不起作用 索引.html 而不是。 – 成员声音 评论 2015年8月7日11:26 -
我认为视图名称应该是 静态/index.html – 奥里达尔 评论 2015年8月7日11:29 -
两者都不是 静态/索引 也不是 静态/index.html 作品。 – 成员声音 评论 2015年8月7日11:30 -
看下面我的答案,我解决了。 – 成员声音 评论 2015年8月7日11:46
4个答案
@请求映射(“/”) 公共字符串索引(){ return“index.html”; }
-
-
1 这是可行的,但是如果我将控制器更改为特定映射,它会显示404。 例如,控制器映射:@Controller@RequestMapping(“/user)”和方法映射:@RequestMapping(”/{id}“),然后我得到一个404错误。 它只适用于请求映射“/”。 – 凯凯 评论 2018年1月31日10:36 -
如果需要json数据作为响应,则应使用@RestController类中的映射。 如果你需要一个视图,那么它会变得有点复杂。你想做什么? 通常,如果您将静态资源置于 资源/静态文件夹结构由于springboot,它会自动工作 。此外,如果您使用/{id},那么应该在方法params中包含@PathVariable(“id”),这样它才能正常工作,但不确定您是否故意省略了它。 评论 2018年1月31日10:48
@请求映射(“/”) 公共ModelAndView主页() { ModelAndView ModelAndView=新建ModelAndView(); modelAndView.setViewName(“索引”); 返回模型和视图; }