被struts的类型坑了一次

有一个Map<String,Map<String,String>>格式的对象传到前台,由于对前台不熟于是就在jsp里使用了java代码来呈现,

先用一个Map<String,Map<String,String>>接收了attribute,然后遍历这个map,每次用map2来接收value,然后再遍历map2,结果就悲剧了,原来map2中有一个value是数字,但实际上我已经在后台把他转为String了,哪儿知道struts又热心的给转为数字了,于是就报出了ClassCastException,说Long不能转为String,琢磨了好久,我用map2.get().toString也不行,原来是map2在声明的泛型处就有了问题,但是map2里面另一个String格式的double数据依旧保留了String,并且坑爹的是map的时候也有泛型为啥不报错?难倒jvm对泛型的检查只有一层?

时间: 2024-11-14 13:13:44

被struts的类型坑了一次的相关文章

Struts 2 类型转换器 输入校验 拦截器

Struts 2中内建了字符串类型和常见类型之间相互转换的转换器,能满足大多数转换需求,但不能完成字符串和User对象之间的转换. OGNL项目中有一个TypeConvert接口,这个接口是自定义类型转换器必须要实现的接口,OGNL还提供了一个实现类: DefaultTypeConverter,自定义类型转换器(UserConverter类)须重写DefaultTypeConverter类的convertValue()方法.该方法可以实现字符串和对象之前相互转换 注册局部类型转换器:注册局部类型

struts复合类型传值(对象传值)

01:导包,配置web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="

struts 结果类型

FreeMarker 一个模板引擎 即 FreeMarker github https://github.com/apache/freemarker 网址 https://freemarker.apache.org/ maven安装 访问网址 https://search.maven.org/artifact/org.freemarker/freemarker/2.3.28/jar <dependency> <groupId>org.freemarker</groupId&g

Python踩坑:类与类对象类型参数传递与使用

前言 对初学者来说,Python确实简单好用,毕竟动态类型语言,不用定义就可以拿来用,类型之间随意转换简直不要太方便,因此Python用来写写小脚本,爬虫程序什么的,没什么问题. 不过,一旦用来开发稍微大型一点的项目,例如搭建一个Web应用,就会遇到一些问题,一般缺乏经验的人都会陷入某些坑中.= =... 坑 先说坑,函数参数类型是一坑,类与类的对象这又是一坑. 虽然之前用其他静态类型语言(例如C#/Java)的时候都搞明白了的,但是换了个动态类型的Python,总会有点令人疑惑. 例子 让我用

struts升级2.3.12到2.5.13

参考文章: http://www.ituring.com.cn/article/495914 http://blog.csdn.net/zhangchen1987/article/details/78054960 http://blog.csdn.net/zhangchen1987/article/details/78054512 http://blog.csdn.net/educast/article/details/52212904 1.首先jdk1.6要升级到jdk1.7以上 2.stru

开发运维日常坑 总结 51-100

51.json 好多种 JsonArray fromObject = JSONArray.fromObject(list<obj>); String string = fromObject.toString(); Gson gson = new Gson(); String json = gson.toJson(list<obj>); 52.调用API //参数url化 String city = java.net.URLEncoder.encode("北京",

Spring/hiberbat/...

1.说出几个与spring同类型的开源框架,说出几个与hibernate同类型的开源框架,说出几个与struts同类型的开源框架 解答: 1)与spring同类型的开源框架:JUIDE.EJB3.0.picoContainer 2)与hibernate同类型的开源框架 :ibatis,jdo,JPA 3)几个与struts同类型的开源框架:webwork,tapestry,JSF 2.Struts2包含哪些标签? 解答: A: <s:a href=""></s:a&g

Java笔试面试题003

1.启动一个线程是用run()还是start()? 解答:start(). 2.是否可以继承String类 解答:不可以.因为String类有final修饰. 3.Java异常处理中,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 解答:会执行,在return前执行. 1.EJB包含哪3种bean 解答:session bean(会话bean), entity bean(实体bean), mes

关于此次团队项目中技术选型问题

关于此次软件项目的开发,我们设计了一个软件应用型的项目.显然,我们的项目跟市场上的主力军项目来比,就像一个刚出蛋壳的小鸡,很多地方都有可能出现纰漏.但是,在信息技术多元化发展的今天,我们必须给予项目技术层面足够多的关注,不然的话,吃亏的只能更加是自己.下面是此次项目开发中的关于技术选型方面的历程: 最初我们打算的项目是网站型的项目,因为网站性的项目访问量可能会比较大,而且还总是受到网络速度的影响,所以我们在选择框架时在前端WEB层中选择了Model View Controller(MVB).之所