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;  
    } 


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

热门文章

最新文章

  • 1
    前端如何存储数据:Cookie、LocalStorage 与 SessionStorage 全面解析
    1435
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    712
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    569
  • 4
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    574
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    663
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    843
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    1647
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    396
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    1362
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    672