欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-07-13 16:10:34
...

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

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

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;
		}