在控制器组件与模型组件之间传送数据
2009-09-06 00:00:00 来源:WEB开发网以上代码都很好理解,主要是add_param(),set_crs()方法主要是把数据库执行查询后得到的ResultSet通过CachedRowSetImpl的populate方法放进CachedRowSetImpl里,至于为什么要放到CachedRowSetImpl里处理,参看些jdbc编程方面的知识。(TO-DO)
写好这个javaBean后,在控制器组件里可以把在前台传进来的值通过add_param()方法放进来,如下:
Java代码
param_bean param = new param_bean();
String dep_code = (String)request.getSession().getAttribute("LOGIN_USER_DEP");
param.add_param("DEP_CODE", dep_code);
在模型组件里可以根据传进来的这个param来取到值,进行一些数据库的操作,如下:
Java代码
public param_bean loginAuth(param_bean param) throws java.lang.Exception{
String user_code = (String)param.get_param("USER_CODE");
param.clear_param();
String sql = "..";
sqlExecQuery(param,sql);
return param;
}
/**
* 执行查询语句的公共方法
* @param param
* @param sql
*/
private void sqlExecQuery(param_bean param,String sql) throws Exception{
database_bean db = get_database();
param.ret_code = -1;
try{
param.set_crs(db.execute_query(sql));
param.ret_code = 0;
param.err_msg = "";
db.close();
}catch(Exception ex){
param.ret_code = -1;
param.err_msg = ex.getMessage();
ex.printStackTrace();
}
}
完成相应的数据库操作后,在控制器里进行如下判断,并对数据库的查询结果放到request进行更加复杂的处理,如下:
Java代码
if (param.ret_code == 0) {
request.setAttribute("PARAM_CRS", param.crs);
} else {
System.out.print(param.err_msg);
throw new Exception(param.err_msg);
}
到这里,MVC三层结构中在在控制器组件与模型组件之间传送数据大致介绍完成了:)
赞助商链接