2013第52周二开发记
今天尝试了限定自己在每个时段完成对应开发任务的方法,虽然总是不能在规定时间内完成原来自己预计的任务,但感觉效率高些,明切更深刻的体会到现实与理想的差距。现在记录下开发中遇到的几个问题:
1.URL中文编码乱码问题:昨晚还奇怪为什么有些包含中文的URL在我电脑的tomcat环境下正常,而在测试电脑环境下就是乱码,问了同事才知道是因为tomcat的配置文件server.xml中contenter项中多一个配置URIEncoding="UTF-8",修改后果然如此,一般遇到此问题有两种方法,修改tomcat配置文件,或者找到所有可能会传递中文的URL地方进行编解码处理。
2.list型的变量值为null时转成json串对应[],不是“”或null
3.structs2中Action返回值json类型时前台ajax对应success方法处理问题,记得很早之前是直接输出到响应流的方式,这次想用structs2配置文件的方式,尝试多次后成功,后来才发现这篇好的文章
structs2配置文件xml中这样定义
<result type="json">
<!-- 这里指定将被Struts2序列化的属性,该属性在action中必须有对应的getter方法 -->
<!-- 默认将会序列所有有返回值的getter方法的值,而无论该方法是否有对应属性 -->
<param name="root">dataMap</param>
<!-- 指定是否序列化空的属性 -->
<param name="excludeNullProperties">true</param>
<!-- 这里指定将序列化dataMap中的那些属性 -->
<param name="includeProperties">
userList.* ,info
</param>
<!-- 这里指定将要从dataMap中排除那些属性,这些排除的属性将不被序列化,一半不与上边的参数配置同时出现 -->
<param name="excludeProperties">
SUCCESS
</param>
</result>
这样假定success对应的函数值为function(result){},则其中可以这样取result.info传递过来的info值。
4.jquery操作手册,对应取直接子元素方法children(),取所有对应子类型方法为find(),获取或设置属性的方法attr();
5.今天jquery中操作时用this犯了一个大错误,浪费不少时间,类似下面形式
$('a').hover(function movein(){
$(this)此处表示选中连接a;
$.ajax({url,
},function moveout(){});