项目开发中遇到的问题总结

  近期在项目开发中所遇到的一些问题,记录下来,有空的的时候看看以免犯同样的问题。

以下问题是近期工作中遇到的问题,可能大神还有别的解决方式,望指教!

1.在使用goole的GSON将javaBean转成json的时候如果遇到一对多或者多对一的时候会出现循环引用问题,之前没怎么用过GSON所以对其不是很了解,最后果断放弃了使用GSON,换成alibaba的fastjson,是用fastjson之后发现预期效果比GSON的强一些,虽然也会有循环引用的问题,不过发现只是在子类数据和父类数据相同的情况下会出现这种问题,(及多对一的情况下)最后在jsp添加判断果断决绝这个问题。

 

2.在使用jqueryForm提交带文件的表单时,发现action总是会取到前一个上传的文件,这个问题让我抓耳挠腮,jqueryform提交时设置cache: false 也不行最后想到会不是action没销毁,两次公用一个action造成的,结果在网上找到一篇文章解决了我的问题,文中提到: scope="prototype" 会在该类型的对象被请求时创建一个新的action对象。如果没有配置scope=prototype则添加的时候不会新建一个action,他任然会保留上次访问的过记录的信息。

<bean id="personAction" scope="prototype" class="quickstart.action.PersonAction">
        <constructor-arg ref="personService" />
</bean>

链接:http://blog.csdn.net/m13666368773/article/details/7440027

3.使用jqueryform提交表单时因为浏览器差异也纯在不少的问题,公司测试使用的浏览器是IE7,代码在firfox下能够正常提交而在IE7上面就不好用,虽然现在很少人用IE7,不过毕竟是个问题,最后针对浏览器的不同提供了两种提交方式

先判断浏览器

 

//判断浏览器
function getExplorer() {
	var explorer = window.navigator.userAgent ;
	//ie 
	if (explorer.indexOf("MSIE") >= 0) {
		return "ie";
	}
	//firefox 
	else if (explorer.indexOf("Firefox") >= 0) {
		return "Firefox";
	}
	//Chrome
	else if(explorer.indexOf("Chrome") >= 0){
		return "Chrome";
	}
	//Opera
	else if(explorer.indexOf("Opera") >= 0){
		return "Opera";
	}
	//Safari
	else if(explorer.indexOf("Safari") >= 0){
		return "Safari";
	}
}

 

 

IE提交方式:

 

//IE或其他浏览器的提交方式
var vision=getExplorer();
	if(vision==="Chrome" || vision==="ie" || vision==="Opera" || vision==="Safari") {  
				var options = { 
				url:'<%=basePath%>businessApply_addNonBussinessApply.action',
				type:'POST',
				cache: false,
				success:function(msg){
			var json=eval("("+msg+")")
				if(json=='larger'){
					alert("上传文件太大,单个文件只限于1M以下.")
					return;
				}else if(json=='typerr'){
					alert("文件类型出错")
					return;
				}else if(json=='suc'){
					alert("xxx新增成功!");
					$("#townshipId").val("");
					$("#placeName").val("");
					$("#userkindId").val("");
					$("#applyStatusId").val("");
				window.location.href="<%=basePath %>businessApply_goList.html?type=NOTWORK_INFO";
				}
			}
				};
	setTimeOut($('#addbusinessApplyForm').ajaxSubmit(options),0);
				return false;
		}

 Firfox提交方式:

//火狐浏览器提交方式
 if(vision==="Firefox") {  
			$("#addbusinessApplyForm").ajaxSubmit({
			cache: false,
			success:function(msg){
			var json=eval("("+msg+")")
				if(json=='larger'){
					alert("上传文件太大,单个文件只限于1M以下.请重新上传!")
					return;
				}else if(json=='typerr'){
					alert("文件类型出错")
					return;
				}else if(json=='suc'){
					alert("初次备案新增成功!");
					$("#townshipId").val("");
					$("#placeName").val("");
					$("#userkindId").val("");
					$("#applyStatusId").val("");
				window.location.href="<%=basePath %>businessApply_goList.html?type=NOTWORK_INFO";
				}
			}
		})
		return false;
		}

 

 

 

你可能感兴趣的:(jquery,json,浏览器,cache)