国产探花免费观看_亚洲丰满少妇自慰呻吟_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頁面上顯示出來:



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 莲花县| 吉木乃县| 涡阳县| 永济市| 万宁市| 新民市| 和平区| 蓬安县| 雷山县| 泊头市| 孙吴县| 吉隆县| 郸城县| 光山县| 徐州市| 高陵县| 抚宁县| 梅河口市| 宁国市| 勐海县| 宿州市| 海安县| 四会市| 青州市| 广州市| 宜昌市| 长岛县| 手游| 铁岭县| 台北县| 探索| 柳江县| 昂仁县| 永新县| 兴宁市| 中江县| 车险| 舒城县| 大同市| 桦川县| 左贡县|