首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >addToMasterFrontAction在组件上失败:"object不是声明类的实例“

addToMasterFrontAction在组件上失败:"object不是声明类的实例“
EN

Stack Overflow用户
提问于 2015-04-24 07:38:12
回答 1查看 59关注 0票数 0

我的用例:,我正在使用一个基于组件作为模型的视图。在此视图中,我需要一个操作,以便向列表中添加一个新行。

在model.groovy中声明的组件:

代码语言:javascript
运行
复制
Component('ComposeLoading') {
  //fields
  date_time  'etd'

  //reference
  reference 'offerPlan', ref:'OfferPlan'

  //lists
  list 'loadings', ref:'Loading'
  list 'transportOrders', ref:'TransportOrder'
}

在view.groovy中声明的视图:

代码语言:javascript
运行
复制
border('ComposeTrain.wizard.first.view', model:'ComposeLoading') {
  north {
    form {
      fields {
        propertyView name:'etd'
        propertyView name:'offerPlan'
      }
    }
  }
  center {
    split_horizontal {
      left {
        table(permId:'ComposeLoading.loadings.table',
               model:'ComposeLoading-loadings',
               selectionMode:'MULTIPLE_INTERVAL_CUMULATIVE_SELECTION')
      }
      right {
        split_vertical(cascadingModels:true) {
          top {
            table(permId:'ComposeLoading.transportOrders.table',
                  model:'ComposeLoading-transportOrders')
            {
              actionMap () {
                actionList('TRANSPORT_ORDER') {
                  action(ref:'addToMasterFrontAction')
                }
              }
            }
          }
          bottom {
            table(permId:'ComposeLoading.TransportOrders.loadings.table',
                   model:'TransportOrder-loadings')
          }
        }
      }
    }
  }
}

My problem :当我运行应用程序时,当我单击Add按钮时,失败:"object不是声明类的实例“。

请在堆栈跟踪下面找到:

代码语言:javascript
运行
复制
ERROR <2015-04-24 08:48:44,014> org.jspresso.framework.application.frontend.controller.AbstractFrontendController : An unexpected error occurred for user demo on session 6b2afee4.
java.lang.RuntimeException: java.lang.IllegalArgumentException: object is not an instance of declaring class
  at org.jspresso.framework.util.accessor.bean.BeanCollectionAccessor.addToValue(BeanCollectionAccessor.java:78)
  at org.jspresso.framework.application.backend.action.AbstractAddCollectionToMasterAction.execute(AbstractAddCollectionToMasterAction.java:116)
  at org.jspresso.framework.application.backend.AbstractBackendController.execute(AbstractBackendController.java:393)
  at org.jspresso.framework.application.frontend.controller.AbstractFrontendController.executeBackend(AbstractFrontendController.java:1534)
  at org.jspresso.framework.application.frontend.controller.AbstractFrontendController.execute(AbstractFrontendController.java:574)
  at org.jspresso.framework.application.action.AbstractAction.execute(AbstractAction.java:114)
  at org.jspresso.framework.application.frontend.action.std.AddCollectionToMasterAction.execute(AddCollectionToMasterAction.java:85)
  at org.jspresso.framework.application.frontend.controller.AbstractFrontendController.executeFrontend(AbstractFrontendController.java:1547)
  at org.jspresso.framework.application.frontend.controller.AbstractFrontendController.execute(AbstractFrontendController.java:576)
  at org.jspresso.framework.view.remote.RemoteActionFactory$ActionAdapter.actionPerformed(RemoteActionFactory.java:235)
...
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-24 13:47:12

读取视图名称时,似乎在向导操作中使用它。向导操作不像预期的那样使用标准模型(例如,ComposeLoading组件实例),但它将Map实例绑定为视图的根模型。它对Jspresso绑定层是完全透明的,因为它可以在Java (使用访问器)或映射(使用getXXX()putXXX())上毫无差别地操作。

但是,对依赖于模型的集合(如adToMasterFrontActionremoveFromMasterFrontAction)进行操作的标准集合操作并不是通用的,并且不能很好地处理地图.这绝对是一个bug,我已经在Jspresso GitHub中为它打开了一个GitHub。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29841467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档