三大系统开发问题集锦

一、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)函数,可以进行字段合并,一般用于行列转换。


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值