暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

每日一学之Spring boot NO.3 Spring boot web

程序员的日记本 2018-04-25
74

   

                        


图片来自于百度图片


关于模板页面


Spring boot不建议大家使用JSP,因为JSP只支持打包为WAR格式,在JAR格式下不能运行。因此可以是使用thymeleaf或者使用freeMrker来代替。而Spring boot推荐使用thymeleaf。


thymeleaf


Spring boot默认记载templates下面的html文件,因此无须再Spring.properties中对路径进行配置,一般只需要配置关闭缓存即可。

spring.thymeleaf.cache=false


对thymleaf不熟悉的朋友,可以取查一下thymleaf的相关语法


在templates下新建index.html

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1 th:text="${title}"></h1>
<div th:text="${title}"></div>
</body>
</html>


@Controller


@Controller与Spring mvc中的使用方式一致

@Controller
public class IndexWeb2 {

   @RequestMapping(value="/admin" ,method = RequestMethod.GET)
   public String index(@RequestParam(value = "userName") String name) {
       return "admin";
   }

   @RequestMapping(value="/hello2")
   public ModelAndView hello(ModelAndView mv){
       mv.setViewName("/index");
       mv.addObject("title", "@Controller");
       return mv;
   }
}


@RestController


@RestController
public class IndexWeb {

   @RequestMapping(value="/strs/{title}")
   public String strs(@PathVariable String title) {
       return title;
   }  

   @RequestMapping(value="/index.html")
   public Map<String,String> index() {
       Map<String,String> map = new HashMap<String,String>();
       map.put("user", "123");
       map.put("pass", "122");
       return map;
   }    

   @RequestMapping(value="/list")
   public List<String> list() {
       List<String> list = new ArrayList<String>();
       list.add("1");
       list.add("2");
       return list;
   }

   @RequestMapping(value="/users")
   public List<User> listUsers(){
       List<User> list = new ArrayList<User>();
       for(int i=0;i<10;i++) {
           User user = new User();
           user.setLoginName("admin_"+i);
           user.setRealName("admin_"+i);
           user.setUserName("admin_"+i);
           list.add(user);
       }
       return list;
   }

   @RequestMapping(value="/hello")
   public ModelAndView hello(){
       ModelAndView md = new ModelAndView("index");
       md.addObject("title", "@RestController");
       return md;
   }

}


从上述实例可以看出 @RestController功能更加全面,无需使用@ResponseBody就可以返回一个JSON格式的数据。更支持restful风格URL。


下期提要


下一期开始说Spring boot怎么与数据库之间交互的相关知识。希望大家不要缺席,这样子利用Spring boot做项目开发的流程就打通了。



近期,我和活跃在业界的一线技术老司机们共同开通了知识星球,——一个与公众号有别,但又一脉相承的技术圈、认知圈:公众号会一如既往地进行知识分享,知识星球则坚持关注解决问题与动手实践。问题很广、方法很多、思绪很快,希望我们能够在这里驻足思考、交流、沉淀、提升。


你负责认真,我们负责帮你解决问题,让改变发生;欢迎大家扫码加入我们的星球。期待 2018,在程序猿成长的道路上,彼此成就,共同进化!


文章转载自程序员的日记本,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论