Yeoman http://yeoman.io/ http://www.36ria.com/6144
月度归档:2013年09月
String类型使用注意
1、String.valueOf()静态方法,可以将int,boolean等原生数据类型的值转换为字符串类型。
2、String类中split(Str)方法可以通过设定拆分条件,将一个字符串拆分成相应的字符串数组。
3、StringTokenizer类的作用等同于String.split()方法。
4、String.indexOf(str),返回str在查询字符串中第一次出现的位置,注意:从0计数,如果没有找到返回-1
5、转码方法new String(str.getBytes(“GBK”),”UTF-8″),将utf-8转换成gbk。
6、equalsIngoreCase(“xxx”):忽略大小写的比较。
Jsp中C标签学习总结
1、条件判断语句的写法:
2、when和otherwise必须和choose搭配才能使用,例
3、使用foreach中的varStatus属性,可以获取循环中的current、index、count、first、last值。
4、
5、注意在
开发中与浏览器相关的一些问题总结
开发中与浏览器相关的一些问题:
1、如果在表单中只有一个文本框,点击回车键后,浏览器会自动将此表单提交给服务器,而不经过页面的js验证。 解决方法:在页面中添加一个文本框隐藏的文本框,隐藏的目的是为了不影响功能,这时在点击回车键浏览器就不会自动提交表单。
2、在ie中是没有js的trim方法。 解决方法使用JQuery的$.trim(), 只是去掉首尾的空格
3、火狐调试方法:在调试页面js错误时可以使用firefox的工具–web开发者–错误控制台,检查错误原因。
4、获取用户浏览器信息: request.getHeader(“user-agent”); user-agent 可以识别客户使用的操作系统版本,浏览器版本语言插件渲染引擎
Illegal attempt to associate a collection with two open sessions
1 2 |
<!-- lang: java --> org.springframework.orm.hibernate3.HibernateSystemException: Illegal attempt to associate a collection with two open sessions; |
错误原因分析: 因为Hibernate默认是只允许单个session存在,如果有两个session同时open,并同一个collection进行操作,Hibernate是无法判断使用那个。 在wel.xml文件中配置了opensession Filter,设置为singleSession。
1 2 3 4 5 6 7 8 9 |
<!-- lang: xml --> <filter> <filter-name>hibernateFilter</filter-name> <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class> </init-param> <param-name>singleSession</param-name> <param-value>true</param-value> </init-param> </filter> |
但是如果我们想通过改变singleSession为false解决问题,我个人认为这个是不合理做法,还是该想其他解决方法。我提供一个解决方法供大家参考。
解决方法: 而且我通过google的搜索的时候,发现这个问题经常出现在1:N的情况下。所以在这种情况下要更为注意open two session这个问题,以免浪费必要的时间在解决错误上。
1、将两个同时对数据库操作的(update/save)法写在一个事务中。
2、将Hibernate的update方法改为merge。