qq_38197803 2019-10-31 15:23 采纳率: 0%
浏览 1127

在js写的 Thymeleaf 直接调用 Service层的代码,传参不知道怎么写,后台接受的值是null

{
                field: 'containerType',
                title: '箱型',
                formatter: function (value) {
                    var msg = [[${@emptyContainer.getMessage(value)}]];
                    console.log(msg);
                    return msg;
                }
            },
                            这么写后台直接接受的参数是null

                            {
                field: 'containerType',
                title: '箱型',
                formatter: function (value) {
                    var msg;
                    if (value == 'CONTAINER_TYPE_1') {
                        msg = [[${@emptyContainer.getMessage('CONTAINER_TYPE_1')}]];
                    }
                    if (value == 'CONTAINER_TYPE_2') {
                        msg = [[${@emptyContainer.getMessage('CONTAINER_TYPE_2')}]];
                    }
                    if (value == 'CONTAINER_TYPE_3') {
                        msg = [[${@emptyContainer.getMessage('CONTAINER_TYPE_3')}]];
                    }
                    return msg;
                }
            },

                            这么写就行,我服了
  • 写回答

1条回答 默认 最新

  • 蓝色心灵-海 2023-05-26 10:14
    关注
    第一段代码中的问题可能在于 `${@emptyContainer.getMessage(value)}` 这一段,在 formatter 函数返回之前就执行了,而此时  `value`  的值可能还未被正确地设置。因此,后台接受的参数就是 null。 
     第二段代码没有这个问题,因为每个取值都是在条件语句内部执行的,因此不需要担心  `${@emptyContainer.getMessage(value)}`  被过早调用。
     因此,可以通过在formatter函数中添加条件语句解决这个问题,这样就可以在正确的时间内获取到  `value`  的值,并正确地调用  `@emptyContainer.getMessage()`  函数了。
    
    
    评论

报告相同问题?

悬赏问题

  • ¥15 用三极管设计—个共射极放大电路
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示