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

首頁 > 學院 > 開發設計 > 正文

類反射簡化Struts應用程序的開發(二)

2019-11-18 15:55:15
字體:
來源:轉載
供稿:網友

  三、如何應用類反射機制簡化Struts應用程序的開發:

1、 先定義Action FormBean:

package com.bhsky.webis.system;

import org.apache.struts.action.*;

import javax.servlet.http.*;

  

public class UsersActionForm extends ActionForm {

PRivate String usr_id;

private String usr_name;

public void setUsr_id(String usr_id) {

  this.usr_id = usr_id;

}

public String getUsr_id() {

  return usr_id;

}

public String getUsr_memo() {

  return usr_memo;

}

public void setUsr_name(String usr_name) {

  this.usr_name = usr_name;

}

}

2、 編寫通用的為ActionFormBean賦值的方法:

/////////////////////////////////////////////////////////////////////////////

  //Function: 完成ResultSet對象向ArrayList對象為集合的對象的轉化

  //Para:sql,指定的查詢Sql

  //Para:className,Sql相對應得JavaBean/FormBean類的名字

  //Return:以類className為一條記錄的結果集,完成ResultSet對象向ArrayList對象為集

  //合的className對象的轉化

 //////////////////////////////////////////////////////////////////////////////

 public ArrayList Select(String sql,String className){

  ArrayList paraList=new ArrayList();

  try{

   if (conn == null){

    Connection();

   }

   PreparedStatement stmt = conn.prepareStatement(sql);

   ResultSet rs = stmt.executeQuery();

   String recordValue="";

   Object c1=null;

   paraList=new ArrayList();

   ResultSetMetaData rsmd = rs.getMetaData();

   int columnCount = rsmd.getColumnCount();

   while (rs.next()){

     c1=Class.forName(className).newInstance();

     for (int i=1; i<=columnCount; i++) {

      if(rs.getString(rsmd.getColumnName(i))!=null){

       recordValue=rs.getString(rsmd.getColumnName(i));

      }else{

       recordValue="";

      }

Method

m=c1.getClass().getMethod(getSetMethodName(rsmd.getColumnName(i)),

new Class[]{recordValue.getClass()});

      m.invoke (c1, new Object[]{recordValue});

     }

     paraList.add(c1);

   }

  }catch(SQLException ex){

   

}catch(ClassNotFoundException e){

}catch(NoSUChMethodException e) {

}catch(InvocationTargetException e){

}catch (IllegalaccessException e){

}catch(InstantiationException e){

} finaly{

    closeConnection();

return paraList;

}

 }

3、 在JavaBean封裝的商業邏輯中調用Select 方法,然后在jsp頁面上顯示出來:



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 漯河市| 定陶县| 陆河县| 涟水县| 耿马| 赫章县| 茌平县| 连城县| 南召县| 友谊县| 曲麻莱县| 称多县| 新竹市| 汾西县| 萨嘎县| 高尔夫| 同仁县| 横山县| 林口县| 海宁市| 武穴市| 武乡县| 阿克| 巫溪县| 桐庐县| 黔南| 兰溪市| 内乡县| 深圳市| 山东| 永城市| 鹤岗市| 金门县| 明水县| 高密市| 忻城县| 伊川县| 自贡市| 吉隆县| 丰原市| 安阳县|