thyleaf 直接在 js中写 java 代码

目的: 在java 代码里面定义了枚举,我想在前台里面直接把枚举的值拿出来,然后点击表单提交,枚举的值也送上去,后台根据枚举的值来做对应的处理
经过调试,发现必须要把对象交个 spring容器来管理,才能 在 js用这个对象
demo:

package com.ywfcake.demo.code;

import lombok.AllArgsConstructor;
import lombok.Getter;
 

/**
 * @Author lyr
 * @create 2020/2/27 15:40
 */
@AllArgsConstructor
@Getter
public class CakeIdCode {
    /**
     * ADD_FLAG: 添加操作
     * DELETE_FLAG: 删除操作
     * UPDATE_FLAG : 更新操作
     *
     *
     */


    public static final int START = 100000000;

    public static final IdCode CAKE_ADD_FLAG = new IdCode(START+1);
    public static final IdCode CAKE_DELETE_FLAG = new IdCode(START+2);
    public static final IdCode CAKE_UPDATE_FLAG = new IdCode(START+3);

    @AllArgsConstructor
    static class IdCode {
        private Integer cakeId;
        public Integer getCode() {
            return cakeId;
        }

    }








}

2.在配置类里面创建对象,交给 spring容器

package com.ywfcake.demo.config;

import com.ywfcake.demo.code.CakeIdCode;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @Author lyr
 * @create 2020/2/27 16:20
 */
@Configuration
public class ConstConfig {
    @Bean("cakeIdCode")
    public CakeIdCode getCode() {
        return new CakeIdCode();
    }

}

前台代码片段:


<script th:inline="javascript">
     var cakeId = [[${@cakeIdCode.CAKE_ADD_FLAG.getCode()}]];
     let verifyCode = Math.random()*10000000;
     layui.use(['form','upload','layedit'],function () {
        let form = layui.form;
        let $ = layui.jquery;
        form.render();

发布了151 篇原创文章 · 获赞 7 · 访问量 7498

猜你喜欢

转载自blog.csdn.net/qq_43923045/article/details/104539448