Sword框架解析——知识采集流程页面初始化
声明:目前因为是初学者小白,现阶段不去考虑架构底层的东西,比如:BaseZrarBlh类是如何通过factory创建;框架是如何将spring、spring mvc、hibernate封装的;一些具体的基础组件是额如何封装的,这个后续再去讨论和研究,目前现阶段,是了解清楚他的用法,清楚的展现出来,说明他是怎么用的即可。
问题解答流程——采集新增页面初始化
1.1后台t_xt_gnzy表和BLH类
正式开始,以模仿问题解答采集流程为例:
先在t_xt_gnzy表中添加一个问题解答采集的模仿数据,这个表主要存放的是页面左边的菜单栏的数据,后续这些数据会通过封装在框架中的特定方法去调用后台对应的java类的特定方法去跳转页面。
图1 .1.1 系统页面菜单栏展示
图1.1.2 oracle数据库t_xt_gnzy表存放的菜单栏数据信息
跳转的关键就在于URL里面存储的sword?tid=ZskwtwhnewBLH_toZskwtwhNewTree&wtwhlx=zscj这种数据。我们可以发现,在前端数据传递到后台处理的时候,也是类似的用法,其中也包括我们经常用的ajax,框架的ajax也是经过特殊封装的,但是原理是一样的。
在数据库中存放的url,后续会通过框架中的特有方式执行:
图1.1.3 t_xt_gnzy中的url
sword?tid=ZskwtwhnewBLH_toZskwtwhNewTree&wtwhlx=zscj
以“_”作为分界线:
前面的地址是后台BLH类的唯一标识符,在本例中是:ZskwtwhnewBLH
。
后面的部分,到&之前,是对应类的方法名的唯一标示符,在本例中是:toZskwtwhNewTree
。
&之后,是我们需要向后台传值的部分,在本例中,传递了一个名叫“wtwhlx”的值,具体值是:zscj,一般在这里传递的值,都是用来控制页面展示的一些参数
。
1.2BLH类的写法&前台目录树代码
(1)BLH类
前面我们提到了,在数据库中的url包含了两个【唯一标识符】的问题
@BLH("ZskwtwhnewBLH")
public class ZskwtwhnewBLH extends BaseZrarBlh {
private static final String WtwhVO_Form = "wtwhFormID";
private static final String WtwhVO_Grid = "wtwhGridID";
//问题维护初始化页面跳转
public IResData toZskwtwhNewTree(IReqData req){
IResData res=new SwordRes();
//判断树页面右边加载的iframe类型
String wtwhlx=(String)req.getAttr("wtwhlx");
res.addJSTL("wtwhlx", wtwhlx);
if("zscj".equals(wtwhlx)){
res.addJSTL("scrolling",