• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
黄洪波写点东西的地方
博客园    首页    新随笔    联系   管理    订阅  订阅
OAF 交互式列车 上一步 下一步的简单使用

在实际的需求中,我们往往会遇到在下一步的时候验证某些参数,而上一步不需要验证。 

 

这个是非常粗暴的解决方式

 if( "goto".equals(pageContext.getParameter(EVENT_PARAM) ){
         OATrainBean trainBean = 
      (OATrainBean)pageContext.getPageLayoutBean().getLocation();
    int target = Integer.parseInt(pageContext.getParameter(VALUE_PARAM)); //获取目标页面所处的节点,从1开始,第一个页面为1
    int step = trainBean.getSelectedTrainStepRenderedIndex()==0?0:trainBean.getSelectedTrainStepRenderedIndex();//获取当前页面所处的节点,从1开始,(我有点不太确定这段解释是否正确)
    
    int k = trainBean.getNumberOfRenderedTrainSteps();//获取当前交互式列车的总页面数量
    
    //在实际的应用中,我们一般是知道我点击下一步/上一步会跳转在第几个页面上
    //例如我当前处于第三个页面
    if( target == 4){
        //NEXT
        //下一步
        //write your logic here……
    }
    if( target == 2){
        //上一步        
        //PREVIOUS        
        //write your logic here……
    }
 }

 

这个是非常标准的解决方式

 

if (GOTO_EVENT.equals(pageContext.getParameter(EVENT_PARAM)) && 
            "NavBar".equals(pageContext.getParameter(SOURCE_PARAM))) {
            OATrainBean trainBean = 
                (OATrainBean)pageContext.getPageLayoutBean().getLocation();
            int step = 
                trainBean.getSelectedTrainStepRenderedIndex() == 0 ? 0 : trainBean.getSelectedTrainStepRenderedIndex();
            int target = 
                Integer.parseInt(pageContext.getParameter(VALUE_PARAM));
            if (step + 1 > target) {
                //上一步


            } else {
                //下一步
                
                }

 

 

参考文档

How to catch the 'Next' button click in a Train Flow

APPLICATION EXTENSION TECHNICAL DESIGN

Problem related to train.

 

 

posted on 2015-07-10 16:38  红无酒伤  阅读(832)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3