一种新的编程思路(下):附 ntGBDP2002_Define.jsp (转)

本文介绍了一种新的编程思路,并提供了ntGBDP2002_Define.jsp的具体实现细节,包括全局变量定义、请求参数处理、文件上传等功能模块的实现方式。
一种新的编程思路(下):附 ntGBDP2002_Define.jsp (转)[@more@]

ntGBDP2002_Define.JSP

---------------------------------------------------------------------

  /* 
  *  GBDP2002新版, 注意使用的是cint.ntdb !!! ,支持INT
  *  注意:本JSP被其他页面调用,不能产生额外的空格和回车
  *
  */

  file://全局变量定义
  String globalTableName ;
  String parentKey  ="" ;
  String parentValue ="" ;
  String dbName  = "mhoa";
 
  ntDB ntP = new ntDB(); 
  ntDB nt  = new ntDB();
  String sql ;
 
  String sql_trans = "" ; file://用来插入后面的保存到数据库的sql语句中,使其中在事务之中间
  String sql_TRANS_ERROR = ntDB.sql_TRANS_ERROR ;

  boolean isPost = false ;
  {
  isPost = request.getMethod().equals("POST");
  }
  boolean isEdit = false ;
  boolean isAdd  = false ;
  boolean isDelete = false ;
  boolean isUPLOAD = false ;
  boolean uploaded = false ; file://表示已经上传完毕
  boolean tableCreated = false ; file://表示数据库表已经建立
  {
  String contentType = request.getContentType();
  if( contentType != null
  &&
  contentType.indexOf("multipart/form-data") != -1
  )
  isUpload = true;
  }
  boolean hasId = false;
  boolean hasMasterId = false;
 
  int maxReturnRows = 10000 ;
  int id = 0 ; // 表示主记录id号,一般为1,2,3......,必须在ntGBDPUpload.jsp
  //  中获取,因为当upload的情况无法从request中获取参数
  int masterId = 0 ; // 同上
 
  file://绝对路径
  String realPath ; // like 'c:a'
  {
  realPath = getservletConfig().getServletContext().getRealPath("");
  }
 
  file://上传目录
  String uploadDir;
  {
  uploadDir = realPath + "upload";
  }

  file://存放所有request的信息,使用它的原因是后面如果有upload的时候,
  //  request将没有任何参数和值,必须从upload中重新找到
  Java.util.Hashtable requestHt;
  {
  requestHt = new java.util.Hashtable();
  Enumeration e = request.getParameterNames();
  while( e.hasMoreElements() )
  {
  String s = (String)e.nextElement();
  String sValue = request.getParameter(s);
  requestHt.put( s , sValue );
  } 
  }
 
  file://upload 
  java.io.File mydir = null ;
  SmartUpload mySmartUpload = null ;
 
  if( isPost && isUpload )
  {
  mySmartUpload=new SmartUpload();
  mySmartUpload.initialize(pageContext);//初始化
  mySmartUpload.upload();//上传分析
  Request smartRes = mySmartUpload.getRequest();
  {
  file://将request参数传入requestHt全局变量
  Enumeration e = smartRes.getParameterNames();
  while( e.hasMoreElements() )
  {
  String s = ((String)e.nextElement()).trim();
  String sValue = (smartRes.getParameter(s)).trim();
  requestHt.put( s , sValue );
  } 
  }
  }
%>

  isEdit = isPost && requestHt.get("edit")!=null ;
  isAdd  = isPost && requestHt.get("add")!=null  ;
  isDelete  = requestHt.get("delete")!=null ;
 
  // 这里当没有命令发出的时候,所有操作跳过
 
  hasId = requestHt.get("id")!=null ;
  id = 0 ;
  if( requestHt.get("id")!=null )
  id = Integer.parseInt( (String)requestHt.get("id") );
 
  hasMasterId = requestHt.get("masterId")!=null ;
  masterId = 0 ;
  if( requestHt.get("masterId")!=null )
  masterId = Integer.parseInt( (String)requestHt.get("masterId") );

%>


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-991618/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10752043/viewspace-991618/

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值