spring mvc Controller 控制器 url 在html绑定

Controller 在html绑定

工作快两年了,一直在看人家的博客,自己也没有分享过,现在打算开始写点分享一下,写得不好或者不对,可以多多提宝贵意见。

工作中由于公司的框架已经对很多东西已经封装好了,平时也没用什么springmvc,Struts2这样的一些java框架,自己平时学习了一下一些东西,第一次打算讲一下spring mvc 中的路由绑定。


平时有可能写了一个Controller 以及访问的路径,前端html这边可能进行启用,那么如果在前端写死了一个路径,以后想改这个路径恐怕是非常的麻烦,现在spring 支持了SEL表达式,进行了控制器的路由绑定

package com.carl.mongodb.spring.control;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.ui.Model;

/**
 * @author Carl
 * @date 2016/3/18
 */
@Controller
@RequestMapping("/example")
public class ExampleController {
        @Autowired
        private MongoTemplate anotherMongoTemplate;

    public MongoTemplate getAnotherMongoTemplate() {
        return anotherMongoTemplate;
    }

    public void setAnotherMongoTemplate(MongoTemplate anotherMongoTemplate) {
        this.anotherMongoTemplate = anotherMongoTemplate;
    }


    @RequestMapping("/user/{id}")
    public String showUser(@PathVariable String id, Model model) {
        User u = anotherMongoTemplate.findOne(Query.query(new Criteria().and("_id").is(id)), User.class, "user");
        model.addAttribute("name", "我是thymeleafe");
        model.addAttribute("user", u);
        return "user/info";
    }
}

如果我们在前端可能会写

<a href="/example/user/aaa111">我的用户</a>


如过日后需求变更
@RequestMapping(“/user/{id}”)
改为
@RequestMapping(“/person/{id}”)
那么我们前端需要跟着改,代码维护成本过高
现在可以不用进行该前端,即可

<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="s" %>
<!DOCTYPE HTML>
<html>
<head>
<title>Spring MVC url test</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<a href="${s:mvcUrl('EC#showUser').arg(0,"aaa111").build()}">用户</a>
</body>
</html>


 <a href="${s:mvcUrl('EC#showUser').arg(0,"aaa111").build()}">用户</a>

针对于这段代码,s:mvcUrl 是基固定的EC为Controller的驼峰标志的大写showUser 为函数名字,当然后面的就是绑定参数了,根据实际情况而定

最后附上官网地址教程:
http://docs.spring.io/spring-framework/docs/4.1.2.RELEASE/spring-framework-reference/html/mvc.html#mvc-links-to-controllers-from-views

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值