springMVC:前端请求后台并传值

简介: springMVC:前端请求后台并传值

动态请求

后台:@RequestMapping("/{dataType}/")

前台:url : G_CTX_PATH+ '/data/'+ param.dataType + '/'

后台:@RequestMapping(value="/htApList/{bereauCode}/{industryType}/{hotCode}/{hotName}/{hotAddr}/{hotAddress}")

前台:url:'${ctx}/manager/htApList/${bereauCode}/${industryType}/${hotCode}/${hotName}/${hotAddr}/${hotAddress}'

Ant风格的URL路径映射

@RequestMapping(value="/product?") // 可匹配“/product1”或“/producta”,但不匹配“/product”或“/productaa”;
@RequestMapping(value="/product*") // 可匹配“/productabc”或“/product”,但不匹配“/productabc/abc”;
@RequestMapping(value="/product/*") // 可匹配“/product/abc”,但不匹配“/productabc”;
@RequestMapping(value="/products/**/{productId}") // 可匹配“/products/abc/abc/123”或“/products/123”,也就是Ant风格和URI模板变量风格可混用;

请求方法

// 处理post 就换成 POST 
@RequestMapping (value="/start",method=RequestMethod.GET)

多个请求链接

  @RequestMapping(value = { "list", "" })
  //如果请求不倒url1就会请求url2
  @RequestMapping(value = { "url1", "url1" })

前端传值

1.表单方式

<form>
  title:<input type="text" name="title"/>
  content:<input type="text" name="content"/>
  <input type="submit" value="提交"/>
</form>

2.异步方式

      function save(postsId,userId,userNick) {
        $.ajax({
          type : "POST",
          url : '/posts/save',
          dataType : "json",
          data : {
            title: "这里是标题",
            content :"这里是内容"
          },
          success : function(data, textStatus, jqXHR) {
            alert("异步方法提交")
          }
        });
} 

3.框架加载

如: easyui load 加载

  //easyui的 load 事件中传递给url的参数不能过多
  //全部放到一个json变量中,然后作为load的参数就行了,jquery会自动调用这个方法处理json对象为键值对
  eg:var params={a:1,b:2,c:3,d:4,e:5/*...其他更多的*/}
  $('#dg').datagrid('load',params );
       //查询
      function search(){
        //定义一个model  实际也是json对象
        /*var params={
            org:$('#org').val(),
            beginTime:$('#beginTime').datebox('getValue'),
            endTime:$('#endTime').datebox('getValue'),
        }*/
        var org = $("input[name='org']").val();
        var beginTime = $('#beginTime').datebox('getValue');
        var endTime = $('#endTime').datebox('getValue');
        //json对象
        var params = {org:org,beginTime:beginTime,endTime:endTime};
         $("#dg").datagrid('load',params);
      };

Spring MVC 的请求参数获取的几种方法

1.通过@PathVariabl注解获取路径中传递参数

     @RequestMapping(value = "/{id}/{str}")
     public ModelAndView helloWorld(@PathVariable String id, @PathVariable String str) {
       System.out.println(id);
       System.out.println(str);
     return new ModelAndView("/helloWorld");
}

2.方法直接接收参数

public void saveComment(String title,String content) {
}

3.@ModelAttribute注解获取POST请求的FORM表单数据

    @RequestMapping(method = RequestMethod.POST)
    public String processSubmit(@ModelAttribute("pojo") Pojo pojo) {
      return "helloWorld";
 }

4.直接用model接收参数

表单参数注入到方法参数,和表单的name属性保持一致

public void saveComment(Pojo pojo) {}

5.直接用HttpServletRequest获取

@RequestMapping(method = RequestMethod.GET)
public String get(HttpServletRequest request, HttpServletResponse response) {
 String org = request.getParameter("org");
 System.out.println(org);
 return "helloWorld";
}

6.用注解@RequestParam绑定请求参数a到变量a

//当请求参数a不存在时会有异常发生,可以通过设置属性required=false解决
@RequestParam(value="a", required=false)
@RequestMapping(value = "/requestParam", method = RequestMethod.GET)
public String setupForm(@RequestParam("a") String a, ModelMap model) {
 System.out.println(a);
 return "helloWorld";
} 
public void saveComment(@RequestParam("title") String title,@RequestParam("content")String content) {
}

6.1用注解@RequestParam绑定Map接收不定参数

//@RequestParam  Map 接收不定参数
@RequestMapping(value = "/call", produces = "text/html;charset=UTF-8")  
@ResponseBody  
    public String callback(@RequestParam Map<String, String> params) {  
       return null;  
    } 


相关文章
|
10天前
|
安全 前端开发 开发工具
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
42 5
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
|
18天前
|
JSON 前端开发 测试技术
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
89 10
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
|
16天前
|
JSON 前端开发 API
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
48 5
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
|
2月前
|
前端开发 JavaScript Java
前端解决axios请求的跨域问题【2步完成】
本文介绍如何通过前端配置解决跨域问题,主要针对Vue项目中的`vite.config.js`文件进行修改。作者在联调过程中遇到跨域报错
41 1
|
4月前
|
前端开发 Java 开发者
Spring MVC中的请求映射:@RequestMapping注解深度解析
在Spring MVC框架中,`@RequestMapping`注解是实现请求映射的关键,它将HTTP请求映射到相应的处理器方法上。本文将深入探讨`@RequestMapping`注解的工作原理、使用方法以及最佳实践,为开发者提供一份详尽的技术干货。
265 2
|
5月前
|
设计模式 前端开发 Java
Spring MVC——项目创建和建立请求连接
MVC是一种软件架构设计模式,将应用分为模型、视图和控制器三部分。Spring MVC是基于MVC模式的Web框架,通过`@RequestMapping`等注解实现URL路由映射,支持GET和POST请求,并可传递参数。创建Spring MVC项目与Spring Boot类似,使用`@RestController`注解标记控制器类。
67 1
Spring MVC——项目创建和建立请求连接
|
5月前
|
前端开发 JavaScript
回顾前端页面发送ajax请求方式
回顾前端页面发送ajax请求方式
63 18
|
4月前
|
前端开发 JavaScript UED
"前端小技巧大揭秘:JS如何将后台时间戳秒变亲切小时前、分钟前,让用户秒懂,提升互动体验!"
【10月更文挑战第23天】在Web开发中,将后台返回的时间戳转换为“小时前”、“分钟前”、“刚刚”等友好的时间描述是常见需求。本文介绍如何用JavaScript实现这一功能,通过计算当前时间和时间戳的差值,返回相应的描述,提升用户体验。
71 1
|
5月前
|
前端开发 JavaScript API
前端Get请求能在body上传参吗
【10月更文挑战第11天】 在浏览器环境中,GET请求的body参数会被忽略,这是因为浏览器中的XHR和fetch实现限制了这一行为。而在Node.js服务端环境中,GET请求可以在body中传递参数,因为服务端请求库没有这样的限制。实际上,GET请求不带body是HTTP标准的一部分,但在某些场景下,为了遵循RESTful规范,可以考虑通过服务端转发或BFF模式来实现复杂的参数传递。
|
5月前
|
存储 缓存 监控

热门文章

最新文章

  • 1
    springMVC前后端请求参数绑定和传递
  • 2
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 3
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 4
    详解智能编码在前端研发的创新应用
  • 5
    智能编码在前端研发的创新应用
  • 6
    VSCode AI提效工具,通义灵码前端开发体验
  • 7
    大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
  • 8
    【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 9
    以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
  • 10
    【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线