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 吗?
如果我们需要像这里这样的类型的优先级列表,它本身当然是一种代码味道。但我同意将as
与else
-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集合的值的主要内容,如果未能解决你的问题,请参考以下文章