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

在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 请教一下simulink中S函数相关问题
    • ¥15 Hadoop中eclipse运行问题
    • ¥15 在二层网络中,掩码存在包含关系即可通信
    • ¥15 端口转发器解析失败不知道电脑设置了啥
    • ¥15 Latex算法流程图行号自定义
    • ¥15 关于#python#的问题:我在自己的电脑上运行起来总是报错,希望能给我一个详细的教程,(开发工具-github)
    • ¥40 基于51单片机实现球赛计分器功能
    • ¥15 cs2游戏画面卡住,应用程序sid与指挥者sid不匹配
    • ¥15 实验七:Pandas要有实验截图和代码
    • ¥15 TypeError: Make sure that the iterable only contains strings.