首页 > 其他分享 >bootstrap-suggest插件处理复杂对象时的解决方案

bootstrap-suggest插件处理复杂对象时的解决方案

时间:2023-02-13 13:34:39浏览次数:47  
标签:插件 String suggest bootstrap areaId private wellId result


文章目录

  • ​​一、问题描述:​​
  • ​​二、解决办法:​​
  • ​​后端代码:​​
  • ​​jsp页面:​​
  • ​​js代码渲染:​​
  • ​​实现效果:​​
  • ​​三、插件下载地址:​​

一、问题描述:

在用bootstrap-suggest插件的时候,如果要提示的属性中有关联对象的话,前端页面显示不出来(下面的areaId属性加载不出来)
wellInfo类关键属性:

public class WellInfo {
private String wellId;
private Area area;
private String wellType;
private String abandonWell;

Area类关键属性:

public class Area { 
private String areaId;
private String areaName;
private String areaAddress;
private String areaPhone;
private String areaRemark;

二、解决办法:

我们利用插件的​​processData​​属性来格式化后端传来的JSON数据。

后端代码:

@RequestMapping(value = "/getAllWaterId",method = {RequestMethod.GET,RequestMethod.POST})
@ResponseBody
public Map<String,Object> getAllWaterId(HttpServletRequest req,HttpServletResponse res){
//获取所有注水井编号
List<WellInfo> wellInfos=wellInfoService.getAllWaterId();
int count=0;
if(wellInfos!=null&&wellInfos.size()>0){
count=wellInfos.size();
}
//创建result对象,保存返回结果
Map<String,Object> result=new HashMap<>(2);
result.put("count",count);
result.put("value",wellInfos);
return result;
}

jsp页面:

<label class="col-sm-1 control-label text-right">井编号:</label>
<div class="col-sm-2">
<div class="input-group">
<input type="text" class="form-control" name="wellInfo.wellId" id="wellId"/>
<div class="input-group-btn">
<button type="button" class="btn btn-white dropdown-toggle"
data-toggle="dropdown">
<span class="caret"></span>
</button>
<ul class="dropdown-menu dropdown-menu-right" role="menu">
</ul>
</div>
</div>
</div>

js代码渲染:

//bootstrap-suggest插件加载所有油井
$("#wellId").bsSuggest('init',{
clearable:true, //是否可清除已输入的内容
url:"/opms/wellInfo/getAllOilId",
showBtn:true, //是否显示可下拉按钮
ignorecase:true, //前端搜索匹配时,忽略大小写
hideOnSelect:true, //鼠标从列表单击选择了值时,是否隐藏选择列表
listAlign:'auto', //提示列表对齐位置,left/right/auto
idField:"wellId", //每组数据的哪个字段作为 data-id,优先级高于 indexId 设置(推荐)
keyField :"wellId", //每组数据的哪个字段作为输入框内容,优先级高于 indexKey 设置(推荐)
maxOptionCount: 200, // 选择列表最多显示的可选项数量,默认为 200
effectiveFields: ["wellId","wellType","areaId","abandonWell"],// 有效显示于列表中的字段,非有效字段都会过滤,默认全部有效。
effectiveFieldsAlias: { //有效字段的别名对象,用于 header 的显示
"wellId":"井编号",
"wellType":"井类型",
"areaId":"作业区",
"abandonWell":"是否报废"
},
processData:function (json) { //格式化数据
var data={value:[]};
$.each(json.value,function (i,v) {
data.value.push({
wellId:v.wellId,
wellType:v.wellType,
areaId:v.area.areaId,
abandonWell:v.abandonWell
});
});
return data;
},
//UI
inputWarnColor: 'rgba(255,0,0,.1)', //输入框内容不是下拉列表选择时的警告色
}).on("onSetSelectValue",function (e,keyword) {
}).on("onUnsetSelectValue",function (e) {
});

实现效果:

bootstrap-suggest插件处理复杂对象时的解决方案_jsp

可以看到作业区编号已经加载出来了

标签:插件,String,suggest,bootstrap,areaId,private,wellId,result
From: https://blog.51cto.com/u_15961549/6053976

相关文章

  • printThis前端打印插件
    文章目录​​一、前言:​​​​1、特征​​​​2、插件下载地址:​​​​二、用法:​​​​1、所有配置:​​​​三、示例代码:​​​​1、jsp代码:​​​​2、js部分:​​​​3......
  • 解决问题:KoroFileHeader插件函数注释的快捷键突然失效
    KoroFileHeader函数注释的快捷键失效,但是头部注释的快捷键还能用,试遍了网上的各种方法都没效果解决办法:把插件版本退回到4.8.18就行了......
  • Python黑客编程之Bp字典生成插件
    描述编写一款burpsuite插件,用于从浏览的网页中抓取特定文字,生成字典给Intruder使用代码注册插件创建JMenuItem菜单,在target站点中右键触发回调函数wordlist_menuw......
  • K8s:通过 kubectl 插件 Kubepug 实现集群升级检查(废弃API资源检查)
    写在前面分享一个小工具,可用于版本升级的废弃API对象检查博文内容涉及:kubepug离线安装,配置kubectl插件kubepug两种方式离线使用Demo理解不足小伙伴帮忙......
  • 纯钧chunjun的http-x插件修复
    简介chunjun是一款基于flink的开源数据同步工具,官方文档,其提供了很多flink官方未提供的插件供大家来使用,特别是达梦插件在国产化环境中很方便!本次介绍的是chunjun中的一......
  • Kubernetes CSI插件注册(一)—— node-driver-registrar源码分析
    1、概述node-driver-registrar是一个由官方K8ssig小组维护的辅助容器(sidecar),它的主要作用则是获取CSI插件信息并通过GRPC服务(即RegistrationServer)向Kubelet提供插件......
  • IntelliJ IDEA插件
    1.官方汉化:Chinese(Simplified)LanguagePack(软件使用利器)2.文本翻译:Translation(源码阅读利器)可以FQ的使用默认的Google翻译,不能FQ的改成微软翻译即可使用就是右......
  • Python黑客编程之Bp模糊测试插件
    描述编写一个burpsuite的模糊测试插件,对拦截到的http载荷进行变异测试分析用python写bp插件的话,需要安装一个Jython环境——一个用java编写的python2实现接口部分代......
  • idea集成maven插件和使用骨架创建maven的java工程
    idea集成maven插件    关闭设置界面 使用骨架创建maven的java工程  新创建的项目目录结构       ......
  • 【notedpad++结合HEX-Editor插件】的替代品【vscode+HEX Editor插件】
    近期由于一些原因,notepad++作者违背了开源精神,想必大家也在寻找notedpad++的替代品。之前由于UE需要付费,于是使用了【notedpad++结合HEXDump插件】来为文件十六进制......