一、2011.8.16问题
1.http://localhost:8000/dtpflow 报404错误,是因为这是一个请求链接,在资源中会设置链接某个jsp。如果没有在sys_resource中配,则需要自己加上这个jsp 如下http://localhost:8000/dtpflow/Index.jsp
我们在myeclipse中部署在tomcat6.0中这么样是可以访问的,而如果部署在myeclipse-location中呢?
2。文件上传标签, ??
3。对项目中数据库表的理解,pdm和cdm,在编程中,我不是很习惯和数据库表结构,较多的喜欢看plsql中的表结构和项目中的model类。个人觉得看数据库表结构有个很宏观的了解,而编程细节往往涉及到的是model类等。
4。对request和session的理解
什么是request。request.getParameter();这个request指的是啥 ??
二、2011.8.17
1 序列不存在ora -02289 序列问题,当检查要保存的数尤其是不为空的那些列有数时,还报序列错误,就需要检查hibernate的自动生成的实例化类文件有么有序列了。
这个错误尤其是你在进行表的插入操作的时候,习惯看plsql表的话,就要看你要插入的表不为空的列是不是为空了,而如果还有这个问题,那就要在hibernate对应的实例化类了,因为表有可能经过修改,hibernate中是最标准的,当然一般的增添删查要insert/update/delete开头,不然会报事务性的错误。
2.时间页面传值如list 到edit 页面内,除了设置id和name属性后,还得设置value=“${consult.limitDate}”??
从list传值传道edit页面其实经历了两个过程,list页面传道action页面,action也页面传值到edit页面。也就是前台到后台,后台又到前台的过程。而书写方式就好办了,前台到后台,只需要同名即可,而后台到前台,value=“${consult.limitDate},当然后台有consult的get()方法。
三、2011.8.18
1.文件上传 文件名为.tmp格式 。说明上传功能已经实现,只是数据库存的时候存的是tmp文件名,而不是上传文件名,怎么转变成正常文件名
解决思路,设置一文件上传名隐藏域,当然要进行过滤,不要传入路径,使用js :onchange(getitle(this.value))
function getitle(life){
var index=file.lastIndexOf("\\");
document.getElementById('fileName').value=file.slice(index+1);
}
注意 slice的用法,然后后台直接在上传功能的文件名时 File destFile=new File(root+"/",this.getFileFileName().get(i)); this.getFileFileName.get(i)换成 你要显示的上传文件名 如FileName。但这样也显示出只能显示单个文件上传,多个文件上传就不行了。
2.svn不能提交。报错。
一般来说2个原因,svn路径有问题或者你没有权限,不能提交,路径有问题的判断方式是relocate下就可。
四、2011.8.19
1.List 问题,List初始化的时候 不是简单的赋值为null 如List rangeList=null;而是List rangeList=new ArrayList()这样 rangeList在内存中才有存储空间。
2.List插入的时候。 为啥每次插入的时候插入对象的ID没有变化。由果及因。
for(int i=0;i<userRange.length;i++){
range=new Range();
range.setConsult(consult);
range.setType(4l);
range.setMainid(Long.parseLong(userRange[i]));
rangeList.add(range);
}
和
range=new Range();
for(int i=0;i<userRange.length;i++){
range.setConsult(consult);
range.setType(4l);
range.setMainid(Long.parseLong(userRange[i]));
rangeList.add(range);
}
之间的区别。如果range放外面,每次list插入的时候都是同一个对象。 对的,前一个每次循环都会新建一个range对象。而后都是同一个对象。
五、2011.8.20
1.日期比较
if (Date.parse($("#startdate").val().replace("-", "/")) > Date.parse($("#enddate").val().replace("-", "/"))) {
alert("起始日期要小于或等于截至日期");
return;
}
2.
在JS中获取系统当前时间是用到Date这个对象,在实际应用时,常常会用到不同的显示格式,下面是一些处理方法!
var now = new Date();
strTime = now.toLocaleString();
strYear = now.getYear();
strMonth = now.getMonth();
strDay = now.getDay();
如果要将时间显示为2007/02/12这种格式,人们往往会采用如下的方式:
displayTime = strYear +"/"+strMonth+"/"+strDay;
也可以加入一些判断,以满足要求,但在实际中这种办法是做不到的,显示的格式与我们期望的要求,有很大的差别,为了可以满足要求我们做如下的处理,
if(strTime.substring(5,6)<10){
var displayTime = strTime.substring(0,4)+"/0"+strTime.substring(5,6)+"/"+strTime.substring(7,9);
}else{
var displayTime = strTime.substring(0,4)+"/"+strTime.substring(5,7)+"/"+strTime.substring(8,10);
}
这样做虽然有些麻烦,但具有很强的灵活性。
3.js中file.lastIndexOF()和 slice()的用法
lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索.
stringObject.lastIndexOf(searchvalue,fromindex)
参数 描述
searchvalue 必需。规定需检索的字符串值。
fromindex 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到
stringObject.length - 1。如省略该参数,则将从字符串的最后一个字符处开始检索。
定义和用法
slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
语法
stringObject.slice(start,end)
参数 描述
start 要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。
end 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串 。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。
返回值
一个新的字符串。包括字符串 stringObject 从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符。
4.sql中wm_concat()的用法
oracle数据库中,使用wm_concat(column)函数,可以进行字段合并,一般用于行列转换。