国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

jsp實現后臺提交編程代碼自動生成器

2024-09-05 00:19:54
字體:
來源:轉載
供稿:網友
摘要:這篇文章主要針對有一定jsp編程經驗和sql語句基礎的愛好者,文章主要探討如何自動調用數據庫的表內字段,自動生成相關字段后臺代碼的編程代碼,說白了就是自動生成動態網站jsp代碼的代碼。

........................

一、序
前幾天抽空,到哈爾濱今日圖靈計算機學校聽了一堂張老師講的jsp課程,內容滿有趣的,簡單的整理了一下課堂筆記,帖出來和大家分享一下,由于是張老師的講課內容(那可是人家的版權啊!),這里我就給大家看個骨頭了,剩下的肉(闡述方法、思想)。相信會者自然會悟出來,不會的--呵呵,接著修煉吧!

二、引言
目前的軟件并不是自動生成的,一行行代碼也不是自動生成的。那么,為什么我們不努力于自動生成的軟件?為什么不努力于創造能夠自動生成原來需要手寫的一行行代碼呢?這里張老師為我們提供了這樣一個思路。
1、你能列出你數據庫內的表里的相關字段么?
2、既然能列出來,你能否有選擇地將對應的字段swich()...case n:{}中呢?

三、程序實現代碼

1、列出數據庫中的所有表

  try
 {
        databasemetadata dbmd = conn.getmetadata();
    
        // 指定所需 信息的列表
        string[] types = {"table"};
         rs1 = dbmd.gettables(null, null, "%", types);
    
        while (rs1.next()) 
  {
            string tablename = rs1.getstring(3);
            string tablecatalog = rs1.getstring(1);
            string tableschema = rs1.getstring(2);
   out.println( tablename+"<br>");
        }
    }
 catch (sqlexception e) 
 {
    }
2、自動生成原來需要手寫的jsp代碼
<%
 if (request.getparameter("tablename")!=null)
 {
  sql1="select * from "+request.getparameter("tablename");
  rs1=stmt1.executequery(sql1);
 resultsetmetadata rmt;
 rmt = rs1.getmetadata() ;
    int columncount  = rmt.getcolumncount() ;
 out.println(columncount+"<br>");
%>
<form method=post action="">
<table border="1">
<%
 for(int i=2;i<=columncount;i++)   //從2開始 略過 編號值
 {
  %>
<tr>
 <td><%=rmt.getcolumnname(i).trim()%>:</td>  //輸出字段名
  <td>
  <%
  switch( rmt.getcolumntype(i) )
  {
   case 1://char
    %>
    <input type="text" name="<%=rmt.getcolumnname(i).trim()%>"><br>
    <%
    break;
   case 4://int
    if(rmt.getcolumnname(i).trim().endswith("_id")  )
    {
    %>
     <select name="<%=rmt.getcolumnname(i).trim()%>">
      <option > aa</option>
     </select>
   <%    
    }
    else
    {
     %>
     <input type="text" name="<%=rmt.getcolumnname(i).trim()%>" onblur="jiancha()"><br>
     <%
    }
    break;   
   case 12://vchar
  %>
     <textarea name="<%=rmt.getcolumnname(i).trim()%>" cols="60" rows="6"></textarea>
  <%   
    break;
  }
  %>
   </td>
   </tr>
  <% 
 }
%>
<tr>
 <td colspan="2">
  <input type="submit"  value="提交">
  <input type="reset" value="重置">
 </td>
</tr>
</form>
<%
}
%>


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 荆门市| 托克托县| 弋阳县| 兰州市| 临汾市| 大姚县| 津南区| 沛县| 玛曲县| 东阿县| 车险| 辽宁省| 诸暨市| 张家界市| 敦化市| 师宗县| 昌江| 临夏市| 铁岭市| 连山| 壤塘县| 贵州省| 防城港市| 磴口县| 曲靖市| 中山市| 林甸县| 工布江达县| 定州市| 库伦旗| 通州市| 南川市| 盐城市| 都匀市| 青海省| 石林| 云南省| 彰化市| 随州市| 景东| 定结县|