页面设置

点击顶部导航栏[设置]打开设置面板。如下:


1、页面事件 页面事件可用配置扩展前台页面事件的处理逻辑,如下图:

勾选可以显示当前页面的所有页面事件及其扩展逻辑,包含框架提供的、从父页面继承的、已经当前页面自定义的。页面的可扩展逻辑(before/after/overwrite)在每个事件下都有限制,例如页面打开事件只能后插扩展,而不允许覆盖或者前插扩展。页面事件不能自定义,只能在现有的页面事件上扩展。 页面事件由框架根据页面的状态触发,用户不能定义,只能扩展。


2、页面功能 页面功能既可以扩展现有的页面功能,也可以定义自定义的页面功能。 自定义页面功能如下图: 自定义页面功能会定义一个该功能的overwrite的功能扩展。 页面功能扩展的示例如下:

对新增的页面功能及其扩展,将在页面对应的JS文件中生成相应的方法: 例如,新增页面功能名称为'aPageFun',则默认生成名称为'aPageFun'、插入类型为overwrite的扩展,对应的js中将生成如下三段代码片段:

(1) 将该方法暴露出去供页面调用;

(2) 注册'aPageFunActionEvent'页面方法的overwrite处理,并指定处理方法;

(3) 开发区域,供用户指定处理内容的方法;

增加的页面方法及可以在页面其他地方通过配置的方式绑定,如下:

在JS中通过调用直接触发改页面功能,例如触发'aPageFun'功能使用如下方法:

_self.fireEvent("aPageFunActionEvent")

也可直接调用如下,框架会直接处理页面功能名称的后缀:

_self.fireEvent("aPageFun")

页面功能与页面事件中都含有前端页面的处理方法,页面功能与页面事件需要注意的地方有以下几点:
(1)、页面事件以事件为基础,在事件的处理方法上进行前插(before)、后插(after)与覆盖(overwrite)的扩展,而页面功能已功能为基础,进行前插、后插与覆盖的扩展;

(2)、页面事件自动触发并调用绑定的方法,页面功能必须在页面中调用才会运行;

(3)、页面事件在触发时其处理方法会自动依次调用,页面功能通过名称调用时,其处理方法会依次调用;

(4)、Event约定为架构生命周期中提供的方法,Action是应用开发(包括模板和组件开发)提供的,可以绑定权限项。


3、控件事件 控件事件面板列出当前页面定义的空间事件(不包含父页面已经模板中的控件事件)。如下图: 控件事件只列出当前页面所定义的控件事件,不能做添加等操作。


4、后台功能 后台功能中涉及的几个概念: (1) Action:后台功能的名称,作为调用后台功能的唯一标识符; (2) Event:响应的事件,是一个具体java类,一个Action对应一个Event,一个Event可以对应多个的handler处理,这些handler具有定制好的顺序; (3) Hander:对应的具体实现,是一个具体java类; 后台功能面板可以新增后台功能,也可以扩展后台功能,新增后台功能如下: 对每个后台功能,都可以为其指定权限,如下: 在后台功能扩展中可以选择需要扩展的后台功能,此时将带出该后台功能自带的后台JAVA事件类,指定自定义java类后点击确定即可新增一条后台功能扩展。若不存在新增后台功能中的事件与处理方法的java类,则在该页面保存时会自动生成对应的java文件(注:只生成java文件,未经过编译,不能直接使用,需开发人员处理该java类。)。如下图:

对定义好的后台功能,可以通过以下代码调用:

waf.doPost({
    action:"actionName",//后台功能名称
    async:true,//是否异步请求
    data:{
        param1:"aValue",
        param2:"bValue"
      },//传到后台的参数
    success:function(data){//请求成功后的回调函数
        console.log(data);
      },
    error:function(data){//请求发生错误时的回调函数
        console.log(data);
      }
  });

后台功能调用请求到后台后首先会验证用户是有该后台功能的权限,验证通过才会调用具体的方法。如果在后台功能定义时未给定权限,则所有用户均可调用。

调用后台功能时的data中的参数可以从后台的request请求中获取,例如:

public void onAction(KDActionEvent event) throws EASBizException,BOSException {
        HttpServletRequest request =(HttpServletRequest)event.getReqeustContext().getHttpServletRequest();
          String param1 = request.getParameter("param1");
          String param1 = request.getParameter("param2");
          String rs = param1+param2;
          JSONUtils.SUCESS(rs);
}

success回调函数中的data参数可以通过JSONUtils.SUCESS(rs)来设置。 如果后天请求发生异常,则error函数用于处理异常,如果在调用时没有指定error回调函数,那么异常将由框架自行处理(在页面顶端的错误区域提示错误信息)。


5、页面方法 该选项中可以查看和编辑页面中定义的页面方法,定义的页面方法会在页面对应的JS文件中生成对应的代码片段。如下: 新增页面功能将在页面JS代码中生成对应的代码片段,如下:


6、脚本与样式

脚本管理面板:

样式管理面板:

该页面内可以新增、修改、删除页面对脚本文件和样式文件的引用,也可以直接修改js、css文件的内容。对脚本、样式文件的修改在页面配置保存后生效,对JS、CSS文件的修改会在点击保存或设置面板的确认按钮后直接保存到服务器的相应文件。 对新建的页面,保存后并没有创建CSS文件,如需要创建CSS文件,直接点击样式面板中的创建按钮即可,将创建页面对应的CSS文件,然后点击设置面板的确定,保存页面配置后对该CSS文件的引用生效。如下:


7、模块 选择当前页面加载的模块(js文件),灰色选择为父页面已就选择的模块,不能取消,蓝色对勾选择为当前页面选择的模块,可以取消。如下所示:


8、多语言 定义页面的多语言选项, 如下:

results matching ""

    No results matching ""