easyui控件,如何在页面中获取map类型的list集合的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了easyui控件,如何在页面中获取map类型的list集合的值相关的知识,希望对你有一定的参考价值。

  package com.xjj.util;  
  import java.util.HashSet;
  import java.util.List;
  import java.util.Map;
  import java.util.Random;
  import java.util.Set;
  
  /**
  * 随机数工具,单例模式
  * @author XuJijun
  *
  */
  public class RandomUtils
  private static Random random;
  
  //双重校验锁获取一个Random单例
  public static Random getRandom()
  if(random==null)
  synchronized (RandomUtils.class)
  if(random==null)
  random =new Random();
  
  
  
  
  return random;
  
  
  /**
  * 获得一个[0,max)之间的整数。
  * @param max
  * @return
  */
  public static int getRandomInt(int max)
  return Math.abs(getRandom().nextInt())%max;
  
  
  /**
  * 获得一个[0,max)之间的整数。
  * @param max
  * @return
  */
  public static long getRandomLong(long max)
  return Math.abs(getRandom().nextInt())%max;
  
  
  /**
  * 从list中随机取得一个元素
  * @param list
  * @return
  */
  public static <e> E getRandomElement(List<e> list)
  return list.get(getRandomInt(list.size()));
  
  
  /**
  * 从set中随机取得一个元素
  * @param set
  * @return
  */
  public static <e> E getRandomElement(Set<e> set)
  int rn = getRandomInt(set.size());
  int i = 0;
  for (E e : set)
  if(i==rn)
  return e;
  
  i++;
  
  return null;
  
  
  /**
  * 从map中随机取得一个key
  * @param map
  * @return
  */
  public static <k, v=""> K getRandomKeyFromMap(Map<k, v=""> map)
  int rn = getRandomInt(map.size());
  int i = 0;
  for (K key : map.keySet())
  if(i==rn)
  return key;
  
  i++;
  
  return null;
  
  
  /**
  * 从map中随机取得一个value
  * @param map
  * @return
  */
  public static <k, v=""> V getRandomValueFromMap(Map<k, v=""> map)
  int rn = getRandomInt(map.size());
  int i = 0;
  for (V value : map.values())
  if(i==rn)
  return value;
  
  i++;
  
  return null;
  
  
  public static void main(String[] args)
  Set<string> set = new HashSet<>();
  for (int i = 0; i < 12; i++)
  set.add(I am: + i);
  
  
  for (int i = 0; i < 10; i++)
  System.out.println(getRandomElement(set));
  
  
  
  </string></k,></k,></k,></k,></e></e></e></e>
参考技术A $.map(data.list, function(obj) //data是ajax返回的map,里面有个list,循环得到属性
alert(obj.name)
追问

是list集合里面放的是map类型

追答

试试list[i].key行不

本回答被提问者和网友采纳
参考技术B 你是想要json值吗?追问

是的,怎么获取啊,以前实体类集合是用data-options="field:'...'"获取的,现在map类型的list怎么在页面展示

追答

这个好像一般不会再前台解析list吧!都是在后台解析好了数据,然后返回前台,让前台调用就好了啊

检查控件类型

【中文标题】检查控件类型【英文标题】:Checking for the control type 【发布时间】:2012-07-12 15:13:16 【问题描述】:

我能够获取页面所有控件的 ID 以及它们的类型,当我打印它时在页面中显示

myPhoneExtTxt Type:System.Web.UI.HtmlControls.HtmlInputText

这是根据这段代码生成的

    foreach (Control c in page)
    
        if (c.ID != null)
        
            controlList.Add(c.ID +" Type:"+ c.GetType());
        
    

但是现在我需要检查它的类型并访问其中的文本,如果它的类型是 HtmlInput 并且我不太确定该怎么做。

喜欢

if(c.GetType() == (some htmlInput))

   some htmlInput.Text = "This should be the new text";

我该怎么做,我想你明白了吗?

【问题讨论】:

【参考方案1】:

如果我得到你的要求,这应该就是你所需要的:

if (c is TextBox)

  ((TextBox)c).Text = "This should be the new text";

如果您的主要目标只是设置一些文本:

if (c is ITextControl)

   ((ITextControl)c).Text = "This should be the new text";

为了也支持隐藏字段:

string someTextToSet = "this should be the new text";
if (c is ITextControl)

   ((ITextControl)c).Text = someTextToSet;

else if (c is HtmlInputControl)

   ((HtmlInputControl)c).Value = someTextToSet;

else if (c is HiddenField)

   ((HiddenField)c).Value = someTextToSet;

额外的控件/界面必须添加到逻辑中。

【讨论】:

是否包括输入类型为隐藏? 不幸的是,没有。 HiddenFields 是令人讨厌的小混蛋,因为它们不会从任何有用的东西中继承,必须直接加以说明。我已经编辑了我的答案以包括支持。 还可以考虑在这些类型检查中使用as 运算符。 @JeppeStigNielsen 我很好奇在测试如何执行单行转换与 N 次可能转换时,您将如何实现它?你会事先简单定义 N 个持有者,然后尝试为每个持有者分配并检查 null 吗? 如果我们需要像这里这样的类型的优先级列表,它本身当然是一种代码味道。但我同意将aselse-if 链一起使用可能很困难。您可以将其分解为一个方法并使用return 而不是else。例如:var textControl = c as ITextControl; if (textControl != null) textControl.Text = x; return; var htmlInputControl = c as HtmlInputControl; if (htmlInputControl != null) htmlInputControl.Value = x; return;

以上是关于easyui控件,如何在页面中获取map类型的list集合的值的主要内容,如果未能解决你的问题,请参考以下文章

求教一个easyui的问题 datagrid中怎么加复选框

获取页面上特定类型的所有 Web 控件

怎么在使用easyui layout 布局如何引用页面

如何利用EasyUI框架控制页面布局

easyui控件使用例子

easyui 怎么同时兼容1.3.4如何使用 filebox