Java Spring Boot VS .NetCore (一)來一個簡單的 Hello Worldhtml
Java Spring Boot VS .NetCore (二)實現一個過濾器Filter數據庫
Java Spring Boot VS .NetCore (三)Ioc容器處理後端
Java Spring Boot VS .NetCore (四)數據庫操做 Spring Data JPA vs EFCoreapp
Java Spring Boot VS .NetCore (五)MyBatis vs EFCore前後端分離
Java Spring Boot VS .NetCore (六) UI thymeleaf vs cshtmlurl
Java Spring Boot VS .NetCore (七) 配置文件spa
Java Spring Boot VS .NetCore (八) Java 註解 vs .NetCore Attribute3d
Java Spring Boot VS .NetCore (九) Spring Security vs .NetCore Securitycode
Java Spring Boot VS .NetCore (十) Java Interceptor vs .NetCore Interceptororm
Java Spring Boot VS .NetCore (十一)自定義標籤 Java Tag Freemarker VS .NetCore Tag TagHelper
前面已經介紹了操做作數據,接下來就介紹先展現數據 UI,固然UI能夠作到先後端分離,這裏之前後端爲分離的狀況做爲例子
Spring中的視圖及資源文件主要仍是依賴於resources這個目錄
下面有static(靜態文件放置)、templates(模版目錄)
而.NetCore裏面靜態文件資源都是放置在 wwwroot這個目錄下,而其餘的 經過Controller、 Views文件夾下的目錄結構決定,裏面還多了一個區域的概念
下面來看下Controller處理
@Controller public class TestController { @Resource public UserRepository _userRepository; @Autowired private UserMapper _userMapper; //用戶列表 @RequestMapping("/user/list") public String userList(Model model,@RequestParam(value = "page", defaultValue = "0") Integer page, @RequestParam(value = "size", defaultValue = "6") Integer size) { Sort sort = new Sort(Sort.Direction.DESC, "id"); Pageable pageable = new PageRequest(page, size, sort); Page<UserModel> modelList= _userRepository.findLYM(pageable); // List<UserModel> modelList = _userRepository.findAll(); model.addAttribute("users", modelList); return "user/list"; } @RequestMapping(value = "/user/add",method = RequestMethod.GET) public String userAdd() { return "user/add"; } //添加用戶 @RequestMapping(value = "/user/add",method = RequestMethod.POST) public String userAdd(@Valid UserModel userParam,ModelMap map) { UserModel user=new UserModel(); BeanUtils.copyProperties(userParam,user); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//設置日期格式 user.setRegTime(df.format(new Date())); // UserModel result= _userRepository.save(user); _userMapper.insert(user); return "user/add"; } }
經過 註解 @Controller來標明這個類是一個Controller控制器類@RequestMapping 指定相關方法的請求路由地址以及請求方式
return 到對應的視圖上就ok了,須要視圖路徑標明 ModelMap 對象處理頁面數據對象
如:
model.addAttribute("users", modelList);
頁面上會存在 users數據對象模型,這點類是與.NetCore 中的 ViewData["users"] \ ViewBag.Users 等操做
.NetCore 中實際上是經過後綴名來完成的,在建立的時候必須以Controller結束,經過控制器與視圖之間的關係完成對應的Invoke操做,這裏不過多的說明...
public class HomeController : Controller { SignInManager<IdentityUser> _signInManager; public HomeController(SignInManager<IdentityUser> signInManager) { _signInManager = signInManager; }
[Route("~/url")]
[HttpPost]
public IActionResult Index() { ViewBag.Msg="這是信息"; return View(); } }
這裏的 Views文件夾下須要 Home文件夾,而Home文件夾下 須要有 Index.cshtml 視圖文件 這是對應起來的 Action的名稱 即爲視圖名稱,這樣才能保證正常的訪問
關於協議請求方式
Spring Boot經過 @RequestMapping(value = "/user/add", method = RequestMethod.POST) 默認是GET
.NetCore 經過在Action上添加 [HttpPost] 標籤來實現 固然 也經過 [Route("url")] 標籤來指定請求路由地址, 默認也是GET方式請求
處理頁面就須要瞭解 thymeleaf 模版的使用語法規則了 這裏不作介紹了
西門看下作的一個列表功能效果
實現到這裏作一個Java Spring Boot 的開發應該就沒有問題了~