您的位置:首页 > Web前端 > JavaScript

jstl 定义根据字符串返回map集合

2016-06-03 18:23 615 查看
 有时候传递到jsp页面的结果是一个字符串,需要将其用键值对来表示,做个例子,传递一个字符串a*b,用*分隔,得到map集合

1.fns.tld文件
<function>
<description>将字符串转换Map</description>
<name>getMap</name>
<function-class>com.Test</function-class>
<function-signature>java.util.Map getMap(java.lang.String,java.lang.String)</function-signature>
<example>${fns:getMap(value,mapSplitSymbol)}</example>
</function>

   2.编写java类
/**
*
* @param value  需要转换的字符串
* @param mapSplitSymbol   需要转换为map的分隔符
* @return  返回的map集合
*/
public static Map<String,String> getMap(String value,String mapSplitSymbol){
Map<String, String> map = null;
if (value!=null&&StringUtils.isNotBlank(value)&&value.trim().length()>0&&value.contains(mapSplitSymbol)){
map = Maps.newHashMap();
map.put(value.trim().split("\\" + StringEscapeUtils.escapeJava(mapSplitSymbol))[0],
value.trim().split("\\" + StringEscapeUtils.escapeJava(mapSplitSymbol))[1]);
}

return map;
}

    3.jsp页面获取
    example:
${fns:getMap("a*b","*")}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jstl