Java Spring Boot VS .NetCore (六) UI thymeleaf vs cshtml

 

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 Boot vs .NetCore

Spring中的视图及资源文件主要仍是依赖于resources这个目录

下面有static(静态文件放置)、templates(模版目录)

而.NetCore里面静态文件资源都是放置在 wwwroot这个目录下,而其余的 经过Controller、 Views文件夹下的目录结构决定,里面还多了一个区域的概念

下面来看下Controller处理

Spring中的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处理

.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 的开发应该就没有问题了~

相关文章
相关标签/搜索