1. 功能介绍

    页面跳转分为前台脚本页面跳转和后台程序页面跳转,前台脚本页面跳转通过不同的方式实现跳转页面、弹出窗口、页面提交,打开子页面等,后台页面跳转一般为异常页面转向,页面操作提示及转向等。

  2. 主要特性

    提供完善的页面跳转方法,适应各种不同方式的跳转,如跳转刷新当前页面,新开标签页,打开子页面,弹出窗口等

  3. JavaScript相关跳转

    1. 跳转页面

      redirectTo('component.info.InfoList'`, 'queryInfos', '&id=xxx', 'contentframe')
      参数一:页面名称
      参数二:页面方法,可不填,不填将跳转到页面定义的getDefaultMethod方法指定的默认方法名
      参数三:传递参数,可不填
      参数四:跳转到的页面框架,如果在页面当前框架跳转可以不填写
      注:如果是执行导出动作,写法为:
      exportFile('util.ScheduleList', 'exportSchedules', parameters);

      exportFile('util.ScheduleList', 'exportSchedules', parameters, info);
      参数1-3和redirectTo一致,如果需要自己定制弹出提示信息,可以使用参数四
      注:触发exportFile必须返回,如onclick=”return exportFile(…)
    2. 打开子页面(建议打开标签页,菜单视图都采用该方法等)

      clickTabPane(target, page, listener, params, isreload)
      参数一:打开目标(frame或iframe名称)
      参数二:页面名称
      参数三:调用方法
      参数四:传递参数
      参数四:是否重載,默认第二次打开将不再重載
      注:调用页面建议都是用redirectTo或clickTabPane方法,因为此类方法还封装了统一的显示效果等
    3. 弹出窗口

      popupDialog(page, listener, params, title, width, height)
      参数一:页面名称
      参数二:页面方法,可不填
      参数三:传递参数,可不填
      参数四:弹出窗口标题
      参数五:弹出窗口宽度
      参数六:弹出窗口高度
      注:只有在非PopupField组件中才能用这个方法

      popupPage:function(page, listener, params, title, width, height)
      参数一:页面名称
      参数二:页面方法,可不填
      参数三:传递参数,可不填
      参数四:弹出窗口标题
      参数五:弹出窗口宽度
      参数六:弹出窗口高度
      注:只有在PopupField组件的action方法中才能用这个方法
    4. 页面提交

      pageSubmit:function(page, listener, params, target)
      参数一:打开目标(frame或iframe名称)
      参数二:页面名称
      参数三:调用方法
      参数四:传递参数
      注:适用于非Submit组件时需要提交页面,如PageRedirect组件需要提交一个页面操作
  4. Java相关跳转

    1. 标准页面跳转

      1. redirectTo(String listener)
      2. redirectTo(String pagename, String listener)
      3. redirectToMsg(String message)
      4. redirectToMsg(int msgType, String message)
      5. redirectToMsg(String message, String listener)
      6. redirectToMsg(int msgType, String message, String listener)
      7. redirectToMsg(String message, String pagename, String listener)
      8. redirectToMsg(int msgType, String message, String pagename, String listener)
      9. redirectToMsg(String message, String pagename, String listener, String target)
      10. redirectToMsg(int msgType, String message, String pagename, String listener, String target)
      11. redirectToMsgByPopup(String)
      12. redirectToMsg(String message, String[] pageNames, String[] listeners)
      13. redirectToMsg(String message, String[] pageNames, String[] listeners, String[] buttons)
      14. redirectToMsg(String message, String[] pageNames, String[] listeners, String[] buttons, String[] targets)
      15. redirectToMsg(int messageType, String message, String[] pageNames, String[] listeners)
      16. redirectToMsg(int messageType, String message, String[] pageNames, String[] listeners, String[] buttons)
      17. redirectToMsg(int messageType, String message, String[] pageNames, String[] listeners, String[] buttons, String[] targets)
    2. 弹出窗口关闭跳转父页面

      1. redirectToMsgByPopup(String message)
      2. redirectToMsgByPopup(String message, String pageName)
      3. redirectToMsgByPopup(String message, String pageName, String listener)
      4. redirectToMsgByPopup(String message, String pageName, String listener, String target)
      5. redirectToMsgByPopup(int messageType, String message)
      6. redirectToMsgByPopup(int messageType, String message, String pageName)
      7. redirectToMsgByPopup(int messageType, String message, String pageName, String listener)
      8. redirectToMsgByPopup(int messageType, String message, String pageName, String listener, String target)
      注:用于弹出窗口信息提示,如果不定义pageName,点提示界面的关闭按钮将直接关闭窗口,否则将关闭按钮并跳转到指定页面
    3. 页面跳转,自定义按钮的js动作

      1. redirectToMsgByScript(String message, String func)
      2. redirectToMsgByScript(String message, String[] buttons, String[] funcs)
      3. redirectToMsgByScript(int messageType, String message, String func)
      4. redirectToMsgByScript(int messageType, String message, String[] buttons, String[] funcs)
      注:用于定义提示页面自定义按钮的事件
    4. 操作说明

      1. msgType为页面提示类型,pagename为跳转到的页面,listener为跳转到的方法,target为跳转的frame,buttons是自定义按钮值,默认为“返回”,如果有两个pagename的话,默认按钮为“是”,“否”
      2. msgType可选值(常量):
        MESSAGE_CONFIRM(成功,默认值)
        MESSAGE_WARNING(警告)
        MESSAGE_ERROR(错误)
      3. 如果有需要多个按钮,可以根据需要配置相应的pagename,listeners,buttons,target数组
        示例:
        1. redirectToMsg("新增评估成功", "task.TaskList", "queryTask");
          $:显示提示信息,按“返回”回到指定页面的事件
        2. redirectToMsg("任务撤销成功","task.TaskList" , "queryTasks", "contentframe");
          $:显示提示信息,按“返回”回到指定frame框指定页面的事件
        3. redirectToMsg("任务新增成功,是否跳转到[任务查询]页面\n选择【是】将跳转到[任务查询]页面,选择【否】将跳回到[任务新增]页面", new String[] { "task.TaskList", getPageName() }, new String[] { null, "queryTask" });
          $:显示提示信息,并显示“是”,“否“按钮,指定两个按钮的页面及事件
        4. redirectToMsg("任务新增成功,是否跳转到[任务查询]页面\n选择【是】将跳转到[任务查询]页面,选择【否】将跳回到[任务新增]页面", new String[] { "task.TaskList", getPageName() }, new String[] { null, "queryTask" },, new String[] { "继续新增", "返回查询" });
          $:显示提示信息,并显示自定义按钮按钮,指定两个按钮的页面及事件
        5. redirectToMsgByPopup("日程新增成功");
          $:提示信息,点关闭按钮直接关闭窗口
        6. redirectToMsgByPopup("工作生成成功,按【关闭】关闭窗口回到主页面", "task.TaskList", null, "contentframe");
          $:提示信息,点按钮关闭窗口,并跳转到指定页面
        7. redirectToMsgByPopup("工作生成成功,按【关闭】关闭窗口回到主页面", "task.TaskList", null, "contentframe");
          $:提示信息,点按钮关闭窗口,并跳转到指定页面
        注:
        1. 如果针对操作错误提示,可以用error(message)处理,而不需要通过redirectToMsg提示错误,该common.error()方法适合在DAO,Bean,Page类中使用,而redirectToMsg只能用在Page类中,比如查询某客户不存在,可以用common.error(“客户不存在”)来提示
        2. contentframe表示打开一个新的导航页面
        3. currentframe表示刷新当前页面
        4. parent表示当前页面的上级,可以用parent,parent.parent等相对路径
  5. 注意事项

    1. 如果为页面提交方式不想用非Submit组件提交,可以用pageSubmit方法提交