Java如何接收前端easyui datagrid传递的数组参数

 更新时间:2023年11月16日 17:19:28   作者:沐雨橙风ιε  
这篇文章分享一下怎么在easyui的datagrid刷新表格时,在后端java代码中接收datagrid传递的数组参数,本文通过实例代码给大家介绍的非常详细,需要的朋友参考下吧

这篇文章分享一下怎么在easyui的datagrid刷新表格时,在后端java代码中接收datagrid传递的数组参数。

数组来源于技能的tagbox(标签框),tagbox和combobox的区别是tagbox可以选择多项。

标签框渲染的代码为

    $("#skill_ids").tagbox({
		url: "/chongwu_skill_category/selectAll",
		valueField: "id",
		textField: "name",
		width: 300,
		hasDownArrow: true,
		groupField: "type",
		panelHeight: "auto",
		prompt: "--请选择技能--",
		groupFormatter: function(group){
	        return "<span class='red'>" + skillTypes[group] + "</span>";
	    },
		formatter: function(row) {
			return "<img width='18' src='" + row.image + "' />&nbsp;" + row.name;
		}
	});

然后页面上方的搜索按钮绑定刷新表格事件,会获取3个下拉框的值并传到后端。

    $("#search").linkbutton({
		iconCls: "icon-search"
	}).click(function() {
		let categoryId = $("#category_id").combobox("getValue");
		let roleId = $("#role_id").combobox("getValue");
		let skillIds = $("#skill_ids").tagbox("getValues");
		$("#chongwu_list").datagrid("load", {
			roleId: roleId,
			skillIds: skillIds,
			categoryId: categoryId
		});
	});

但是传递参数的时候,发现参数的格式和我们想要的不太一样

参数名居然带了一个数组的[],很显然这不是我们想要的结果。

改进后的代码

    $("#search").linkbutton({
		iconCls: "icon-search"
	}).click(function() {
		let categoryId = $("#category_id").combobox("getValue");
		let roleId = $("#role_id").combobox("getValue");
		let skillIds = $("#skill_ids").tagbox("getValues");
		$("#chongwu_list").datagrid("load", {
			roleId: roleId,
			categoryId: categoryId,
			skillIds: JSON.stringify(skillIds)
		});
	});

此时参数格式是正确的,把数组转成了json格式的字符串。

然后在后端java通过List<Integer> skillIds参数接收,点击搜索按钮居然报错了,不能把String转为List<Integer>

这时候就要借助spring的转换器来完成类型转换了,创建一个Converter的实现类,并声明为Spring组件。

package cn.edu.sgu.www.mhxysy.converter;
import com.alibaba.fastjson.JSON;
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;
import java.util.List;
/**
 * String ==> List<FilterRule>的转换器
 * @author heyunlin
 * @version 1.0
 */
@Component
public class StringToListOfIntegerConverter implements Converter<String, List<Integer>> {
    @Override
    public List<Integer> convert(String source) {
        return JSON.parseArray(source, Integer.class);
    }
}

重启项目,重新查询一次,这一次成功了,查询到符合条件的唯一一条数据。

上面已经提供了完美的解决方案,当然,方案不唯一,可以把数组所有元素通过一个字符连接起来,然后在后端通过相同的字符分割,也能得到想要的数组。(博主一开始也是这么实现的)

到此这篇关于java接收前端easyui datagrid传递的数组参数的文章就介绍到这了,更多相关java easyui datagrid传递的数组参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java遍历Json中的key和value问题

    Java遍历Json中的key和value问题

    这篇文章主要介绍了Java遍历Json中的key和value问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • spring定时任务执行两次及tomcat部署缓慢问题的解决方法

    spring定时任务执行两次及tomcat部署缓慢问题的解决方法

    这篇文章主要给大家介绍了关于spring定时任务执行两次及tomcat部署缓慢问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面小编来一起学习学习吧。
    2018-01-01
  • JeecgBoot框架升级至Spring Boot3的实战步骤

    JeecgBoot框架升级至Spring Boot3的实战步骤

    本文主要介绍了JeecgBoot框架升级至Spring Boot3的实战步骤,从 2.7.10升级到3.1.5有以下几个点需要注意,下面就来详细的介绍一下,感兴趣的可以了解一下
    2024-04-04
  • Java正则表达式API Matcher类方法

    Java正则表达式API Matcher类方法

    这篇文章主要介绍了Java正则表达式API Matcher类方法,对Matcher类的一些有用方法进行功能对它们进行分组展开介绍,需要的朋友可以参考一下
    2022-06-06
  • 一文了解Java 线程池的正确使用姿势

    一文了解Java 线程池的正确使用姿势

    线程池在平时的工作中出场率非常高,基本大家多多少少都要了解过,可能不是很全面,本文和大家基于jdk8学习下线程池的全面使用,以及分享下使用过程中遇到的一些坑,希望对大家有所帮助
    2022-10-10
  • 详解Java的Spring框架中bean的注入集合

    详解Java的Spring框架中bean的注入集合

    这篇文章主要介绍了详解Java的Spring框架中bean的注入集合,Spring是Java的SSH三大web开发框架之一,需要的朋友可以参考下
    2015-12-12
  • SpringBoot使用AOP记录接口操作日志详解

    SpringBoot使用AOP记录接口操作日志详解

    这篇文章主要为大家详细介绍了SpringBoot使用AOP记录接口操作日志,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • Java volatile关键字原理剖析与实例讲解

    Java volatile关键字原理剖析与实例讲解

    volatile是Java提供的一种轻量级的同步机制,Java 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量,本文将详细为大家总结Java volatile关键字,通过详细的代码示例给大家介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • SpringBoot利用dynamic-datasource-spring-boot-starter解决多数据源问题

    SpringBoot利用dynamic-datasource-spring-boot-starter解决多数据源问题

    dynamic-datasource-spring-boot-starter 是一个用于在 Spring Boot 项目中实现动态数据源切换的工具,下面我们看看如何使用dynamic-datasource-spring-boot-starter解决多数据源问题吧
    2025-03-03
  • 有关tomcat内存溢出的完美解决方法

    有关tomcat内存溢出的完美解决方法

    下面小编就为大家带来一篇有关tomcat内存溢出的完美解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05

最新评论