美文网首页
在迭代前后端不分离项目时同时使用EL模板和ES6语法时${}产生

在迭代前后端不分离项目时同时使用EL模板和ES6语法时${}产生

作者: Lee_Han_ | 来源:发表于2019-07-30 22:58 被阅读0次

最近在迭代一个前后端不分离的老项目,jsp语法对于一个前端新手总是显得不是很友好的,毕竟写html和js代码多了以后,在更改jsp代码的时候会有一些不适应,比如在ajax获取请求并且使用jquery和ES6渲染页面的时候,jsp的EL模板和ES6的拼接字符串都用到了${}这个表达式:

<script>

    $.ajax({

        //请求方式

        type : "POST",

        //请求的媒体类型

        header:"Access-Control-Allow-Origin:*",

        contentType: "application/json;charset=UTF-8",

        //请求地址

        url : "credit/new",

        //数据,json字符串

        data : "data",

        //请求成功

        success : function(result) {

            var _result = JSON.parse(result);

            // console.log("........",_result);

            var arr = _result.data;

            // console.log("arr",arr);

            console.log(date)
            for (var i = 0;i < 4;i++){
                console.log("4ge",arr[i])
                var date = new Date(arr[i].publishDate).toLocaleString().slice(0,10).replace(/\//g,"-").replace("-","0");
                var year = date.slice(0,4);
                var day = date.slice(4)
                console.log("shijian",year)
                console.log("tianshu",day)
                var node = $(`
                    <a href="${home}credit_detail/?${'${arr[i].id}'}" target="_blank" class="lh_credit_news_link_box">
                        <div class="lh_credit_news_link_date">
                            <p class="lh_credit_link_date_day">${'${day}'}</p>
                            <p class="lh_credit_link_date_year">${'${year}'}</p>
                        </div>
                        <div class="lh_credit_news_link_content">
                            <p class="lh_credit_news_link_content_title">${'${arr[i].bt}'}</p>
                            <p class="lh_credit_news_link_content_summary">${'${arr[i].zhy}'}</p>
                        </div>
                    </a>
                `)
                node.appendTo('#lh_credit_news_link');
            }
        },
        //请求失败,包含具体的错误信息
        error : function(e){
            console.log(e.status);
            console.log(e.responseText);
        }
    })

</script>

这一段代码本身我分离出一个单独的js去写的,在解析这段代码时出现了问题:

var node = $(`
                    <a href="${home}credit_detail/?${arr[i].id}" target="_blank" class="lh_credit_news_link_box">
                        <div class="lh_credit_news_link_date">
                            <p class="lh_credit_link_date_day">${day}</p>
                            <p class="lh_credit_link_date_year">${year}</p>
                        </div>
                        <div class="lh_credit_news_link_content">
                            <p class="lh_credit_news_link_content_title">${arr[i].bt}</p>
                            <p class="lh_credit_news_link_content_summary">${arr[i].zhy}</p>
                        </div>
                    </a>
                `)

因为${home}是el表达式而其他的,其他的是ES6的模板语法,遇到这个问题怎么解决呢?

直接将这个ajax的代码写在jsp文件中,并将要插入的节点中的es6模板语法作为字符串传给el模板!

var node = $(`
                    <a href="${home}credit_detail/?${'${arr[i].id}'}" target="_blank" class="lh_credit_news_link_box">
                        <div class="lh_credit_news_link_date">
                            <p class="lh_credit_link_date_day">${'${day}'}</p>
                            <p class="lh_credit_link_date_year">${'${year}'}</p>
                        </div>
                        <div class="lh_credit_news_link_content">
                            <p class="lh_credit_news_link_content_title">${'${arr[i].bt}'}</p>
                            <p class="lh_credit_news_link_content_summary">${'${arr[i].zhy}'}</p>
                        </div>
                    </a>
                `)

这样就可以在jsp文件中完美使用ajax获取后端数据并渲染页面了~~

相关文章

  • 在迭代前后端不分离项目时同时使用EL模板和ES6语法时${}产生

    最近在迭代一个前后端不分离的老项目,jsp语法对于一个前端新手总是显得不是很友好的,毕竟写html和js代码多了以...

  • django使用gzip实现数据压缩

    当使用前后端分离开发项目时,如果前端使用vue react等框架进行开发时,往往项目中的js文件很大,即使使用we...

  • 使用express+webpack搭建一个小项目

    本项目想实现一个小网站,css方面:带reset.css,能使用sass语法;js方面:能使用es6语法;模板方面...

  • Django RESTful 系列教程(四)

    前后端分离的好处就是可以使前端和后端的开发分离开来,如果使用 Django 的模板系统,我们需要在前端和后端的开发...

  • JavaWeb - jsp中EL表达式的$符号和ES6模板字符串

    在jsp中使用ES6的模板字符串,由于el表达式和模板字符串的插入变量都是使用${}这种形式,所以下面的img标签...

  • 初试react

    这是学习react时写的第一个react文件,(holle react)使用es6语法和JSX语法) 在react...

  • 3.token、cookie和session

    1 token简介 概念:令牌,一般在我们的前后端分离的项目中使用,作为身份的校验详情:服务后端程序产生的,然后存...

  • 前后端分离的必要性

    前后端分离之前 在前后端分离观点出现之前,我们往往都是后端直接使用后端模板引擎渲染出html页面,当然这个时候对于...

  • 基于Cookies的跨域设置

    由于一些历史原因,项目是基于cookies做的单点登录,在新的做的后台项目,使用了前后端分离架构,以下是在部署的时...

  • 实现模板引擎

    概念 模板引擎(这里指的时用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定...

网友评论

      本文标题:在迭代前后端不分离项目时同时使用EL模板和ES6语法时${}产生

      本文链接:https://www.haomeiwen.com/subject/ttxarctx.html