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頁面上顯示出來:
新聞熱點
疑難解答