开发平台学习笔记
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.前台
前台主要分成jsp和其相对应的js两个组成部分
二.后台
后台分成: view层,model层,dao层, custom层
( 1 )View层:
1 ·图1-1VIEW层示意图
图1-1
2·关于“View.java”
(1)命名:一般情况下,View层的命名方式会已相关逻辑的实现
的拼音的简写加上View进行命名。例如:我们要开发一个
名称为”经费审批单”的税务行政单据。那么这个时候View层
就要命名为JfSpView.java
(2)View类的继承:通常一个View层会继承一个父类,已用来
实现其相关的注册权限和实现相关的功能。一般情况下,
View层次会继承的父类是OPMSCustomTreeViewServices 或
OPMSCustomViewServices 两个父类。其不同之处就在于继
承前者便可以使用Tree组件。继承父类后,View层必须实
现两个方法这两个方法分别是:
constructAfter(); 方法和setViewID(),其中后者的作用是根据
View层注册的ID得到其相关的权限,这一点是至关重要的。
其通过setCustomViewID的方法放入相关的注册ID,这个ID
要跟在系统”功能菜单注册”中所注册的功能菜单编号一致,
已用来保证相关权限的正确性。
如下图:
public void setViewId()
{
this.setCustomViewId("12533366334607460530");
}
框架中生成功能菜单注册的方法如下:
//生成菜单序号
import com.taxinfo.frame.services.PublicServices;
public class CDXH {
public static void main(String args[]){
for(int i=0;i<10;i++){
System.out.println(PublicServices.getSequencesId());
}
}
}
注: 每个生成的功能菜单的注册ID只能使用一次。
( 3 ) 初始化方法initView。
一般在建立一个View同时我们给予它一个初始化的方法,其方法的名称为initView。其作用是和前台的初始化界面的数据
息息相关的。在这里,这个方法不但完成了init初始化view层
的功能,同时也可以通过JSON对前台界面初始化的时候绑定
初始值。
如下图,initView方法会抛出一个SystemException异常,同时
通过内部类来实现相关的初始化功能,其内部类通常会继承一
个
ListenerAction,其中会实现一个process的方法,方法同样会
抛出SystemException和LoginException
并通过listenerResult的setResultObject的方法返回结果。通常
情况下,在内部类的process方法中声明的ListenerResult对象
会通过this.getDefaulListenerResult方法来获得一个
ListenerResult对象。
public String initView() throws SystemException {
InitViewImpl initView = new InitViewImpl();
return initView.startListener();
}
protected class InitViewImpl extends ListenerAction { public ListenerResult process() throws SystemException,
LogicException {
ListenerResult l=this.getDefaultListenerResult();
HyjfDto hyjfDto=new HyjfDto();
l.setResultObject(hyjfDto);
return l;
}
}
Init方法的扩展应用: 一个View层可以有多个初始化的方法,
此方法主要使用在主表和附表数据并存在
界面上的情况。
这个时候,我们可以通过View层初始化主表信息的方法来绑
定主表的数据,通过初始化附表的方法来绑
定附表的数据。
从而达到双方互不干扰,功能实现明晰的目的,其具体情况如下:
//初始化附表的方法
public String initView() throws SystemException {
InitViewImpl initView = new InitViewImpl();
return initView.startListener();
}
protected class InitViewImpl extends ListenerAction {
public ListenerResult process() throws SystemException,
LogicException {
ListenerResult l=this.getDefaultListenerResult();
HyjfDto hyjfDto=new HyjfDto();
l.setResultObject(hyjfDto);
return l;
}
}
//初始化主表的方法
public String initMain(String xh) throws SystemException{ InitMainImpl initMainImpl=new InitMainImpl();
initMainImpl.setXh(xh);
return initMainImpl.startListener();
}
protected class InitMainImpl extends ListenerAction{
private String xh;
public String getXh() {
return xh;
}
public void setXh(String xh) {
this.xh = xh;