使用适配器:客户代码可以统一调用同一接口,而不用关心其具体的实现细节问题。
实例:根据jsp页面的条件,去javabean后台执行相关操作,不需要在页面中直接调用后台的具体方法,(在实际的项目中尽量减少在jsp中的java代码,一般只有菜鸟都不会注意这些问题!)好处是:1.隐藏方法的具体实现;2.前台统一调用,后台统一管理和统一处理;3代码简洁,直观,紧凑。
在"基础数据管理"中的有各项功能,对应多个jsp页面,现在可以使用对象适配器模式设计。
[b]后台处理:[/b]
//基础数据管理功能类(继承系统管理)
public class BaseDate extends SysManage
{
/**
* 构造函数.
*/
public BaseDate(HttpServletRequest hsrRequest,HttpServletResponse hsrResponse,HttpSession hsSession)
{
super(hsrRequest,hsrResponse,hsSession);
}
/**
* 事件适配器.
*/
public void EventProcess(String sEventID)
{
if(sEventID.equals("select_psn"))select_psn("");//查询人员
else if(sEventID.equals("del_psn"))del_psn();//删除人员
else if(sEventID.equals("add_psn"))add_psn();//新增
...
...
...
}
//新增用户
private void add_psn(){
...
...
...
}
}
/**
* 抽象父类(可以使用接口)统一实现
*/
abstract class SysManage{
//构造函数
public SysManage(HttpServletRequest hsrRequest,HttpServletResponse hsrResponse,HttpSession hsSession){
//统一调用子类抽象方法
String sEventID=request.getParameter("sEventID"); //页面条件
this.EventProcess(sEventID);
}
abstract protected void EventProcess(String sEventID);
}
[b]前台调用:[/b]
add_person.jsp中
<%
BaseDate listObj = new BaseDate(request,response,session);
%>
<script>
Form1.action="add_person.jsp?EventID=add_psn";
Form1.submit();
</script>
实例:根据jsp页面的条件,去javabean后台执行相关操作,不需要在页面中直接调用后台的具体方法,(在实际的项目中尽量减少在jsp中的java代码,一般只有菜鸟都不会注意这些问题!)好处是:1.隐藏方法的具体实现;2.前台统一调用,后台统一管理和统一处理;3代码简洁,直观,紧凑。
在"基础数据管理"中的有各项功能,对应多个jsp页面,现在可以使用对象适配器模式设计。
[b]后台处理:[/b]
//基础数据管理功能类(继承系统管理)
public class BaseDate extends SysManage
{
/**
* 构造函数.
*/
public BaseDate(HttpServletRequest hsrRequest,HttpServletResponse hsrResponse,HttpSession hsSession)
{
super(hsrRequest,hsrResponse,hsSession);
}
/**
* 事件适配器.
*/
public void EventProcess(String sEventID)
{
if(sEventID.equals("select_psn"))select_psn("");//查询人员
else if(sEventID.equals("del_psn"))del_psn();//删除人员
else if(sEventID.equals("add_psn"))add_psn();//新增
...
...
...
}
//新增用户
private void add_psn(){
...
...
...
}
}
/**
* 抽象父类(可以使用接口)统一实现
*/
abstract class SysManage{
//构造函数
public SysManage(HttpServletRequest hsrRequest,HttpServletResponse hsrResponse,HttpSession hsSession){
//统一调用子类抽象方法
String sEventID=request.getParameter("sEventID"); //页面条件
this.EventProcess(sEventID);
}
abstract protected void EventProcess(String sEventID);
}
[b]前台调用:[/b]
add_person.jsp中
<%
BaseDate listObj = new BaseDate(request,response,session);
%>
<script>
Form1.action="add_person.jsp?EventID=add_psn";
Form1.submit();
</script>