2006年7月26日

  • addDay(Date aDate, int iDay) : Date
  • addMonth(Date aDate, int iMonth) : Date
  • addQuarter(Date aDate, int iQuarter) : Date
  • addWeek(Date aDate, int iWeek) : Date
  • addYear(Date aDate, int iYear) : Date
  • getDayOfMonth(Date aDate) : int
  • getDayOfWeek(Date aDate) : int
  • getDayOfYear(Date aDate) : int
  • getDaysBt(Date dFrom, Date dTo) : int
  • getFirstDayOfMonth(Date aDate) : Date
  • getFirstDayOfQuarter(Date aDate) : Date
  • getFirstDayOfWeek(Date aDate) : Date
  • getFirstDayOfYear(Date aDate) : Date
  • getLastDayOfMonth(Date aDate) : Date
  • getLastDayOfQuarter(Date aDate) : Date
  • getLastDayOfWeek(Date aDate) : Date
  • getLastDayOfYear(Date aDate) : Date
  • getMonth(Date aDate) : int
  • getQuarter(Date aDate) : int
  • getYear(Date aDate) : int
  • main(String[] args) : void
  • trunc(Date aDate, String aFormat) : Date
posted @ 2008-01-29 09:53 BlogCY 阅读(280) | 评论 (0)编辑 收藏
 

公司经常更换框架,好不容易写好的业务模型经常要推倒重来。
为此考虑将业务模型独立出来,不受框架的影响。
具体考虑如下:
1.接口定义
DBConnection.java
public interface DBConnection {
  PreparedStatement prepareStatement(String aSql);
 ....
  void free();
  void commit();
  void rollback();
}
DBContext.java
public interface DBContext {
  DBConnection newDBConnection();
}
2.模型实现
public class ActualFlow {
  DBContext dbContext=null;
  public ActualFlow() {
  }
  public void init(DBContext aContext){
    dbContext=aContext;
  }
  public int calculate(String aBranchId,String aYear,String aMonth,String aUserId){
    int iRtn=-1
    PreparedStatement objState=null;
    ResultSet objSet=null;
    DBConnection objCon=null;
    try {
      objCon=dbContext.newDBConnection();
      objState=objCon.prepareStatement("具体的sql语句");
      //业务模型操作......

    }
    catch (Exception ex) {
      ex.printStackTrace();
      iRtn=-1;
    }finally{
      if (objSet!=null) {
        try {
          objSet.close();//关闭结果集合
        }
        catch (Exception ex) {
          ex.printStackTrace();
        }
      }
      if (objState!=null) {
        try {
          objState.close();//关闭statement
        }
        catch (Exception ex1) {
          ex1.printStackTrace();
        }
      }
      if (objCon!=null) {
        objCon.free();//释放连接
      }
    }
    return iRtn;
  }
}
3.在具体的开发框架下面
   定义EAPDBContext 实现 DBContext
   如下方式复用模型:
      ActualFlow objActualFlow=new ActualFlow();
      objActualFlow.init(new EAPDBContext("actualFlow"));
      int i=objActualFlow.calculate(this.m_branchID,this.m_year,this.m_month);

不知道是否合理,先练习练习

posted @ 2006-08-04 12:52 BlogCY 阅读(624) | 评论 (0)编辑 收藏
 
//字符串的Iterator函数
//例子:
//var it=new StringIterator("a,b,c,d",",");
//while(it.hasNext()){
//  alert(it.next());
//}
 1function StringIterator(aStr,aSep){
 2  this.origin=aStr;
 3  this.sep=aSep;
 4  this.remain=aStr;
 5  this.nextStr=null;
 6  this.hasNext=hasNext;
 7  function hasNext() {
 8   var iIndex=0;
 9   if(this.remain==null){this.remain='';}
10   if(this.remain==''){
11     this.nextStr=null;
12     return false;
13   }

14   iIndex=this.remain.indexOf(aSep);
15   if(iIndex<0){
16     this.nextStr=this.remain;
17     this.remain='';
18   }
else{
19     this.nextStr=this.remain.substring(0,iIndex);
20     this.remain=this.remain.substring(iIndex+this.sep.length);
21   }

22   return true;
23  }

24  this.next=next;
25  function next() {
26   var strRtn=this.nextStr;
27   this.nextStr=null;
28   return strRtn;
29  }

30}

31
posted @ 2006-07-29 10:11 BlogCY 阅读(585) | 评论 (0)编辑 收藏
 
1.在web.xml中配置
  <servlet>
    <servlet-name>excel</servlet-name>
    <servlet-class>××××</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>excel</servlet-name>
    <url-pattern>*.xls</url-pattern>
  </servlet-mapping>
2.页面代码
<a title='Excel' id=aa href='/fmudemo/Export.xls?para1=7&para2=1267&para3=null&para4=*'>
      <font size=2>Excel</font>
</a>
3.编写servlet
   输出html字符串,
效果:
  点击链接后,会弹出对话框提示用excel打开。
posted @ 2006-07-26 13:46 BlogCY 阅读(600) | 评论 (0)编辑 收藏