ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

javascript-jsp代码未在骨干.js视图中执行

2019-11-27 14:35:26  阅读:201  来源: 互联网

标签:backbone-views backbone-js javascript jquery jsp


我正在尝试从我的主干视图执行jsp代码.
我正在从我的HTML调用服务器端api,如下所示

index.jsp(此jsp中包含sample.js)

%@ page contentType="text/html;charset=UTF-8"
         import="foo.*,java.util.List"

%>
<%

            Foo foo = new Foo();
            List<XYZ> xyzList = foo.getList();

%>

我正在使用骨干框架.我的js代码如下.

sample.js

SampleView = Backbone.ModalView.extend(
        {
        name: "SampleView",
        model: SomeModel,
        templateHtml : "<div ><span>Search </span>" +
                "<table border='1'>"+
                "<thead>"+
                "<tr>"+
                        "<td></td>"+
                        "<th>header1</th>"+
                        "<th>header2</th>"+
                        "<th>header3</th>"+
                "</tr>"+
                "</thead>"+
                "<tr>"+
                     "<% for(XYZ xyz: xyslist ){   %>"+
                     "<td><input type='checkbox' value='<%= xyz.getName()%>'></td>"+
                     "<td name='selected'><%= xyz.getName()%></td>"+
                     "<td></td>"+
                     "<td></td>"+
                    "<% } %>"+
                "</tr>"+
                "<tr>"+
                "<td><input type='checkbox' value='test'></td>"+
                     "<td name='selected'>test</td>"+
                     "<td></td>"+
                     "<td></td></tr>"+
                "</table><button id='select'>Select</button></div>",


                initialize: function(){
                _.bindAll( this, "render");
                                this.template = _.template( this.templateHtml);
                        },
        events: {
                "click #select": "select"
                        },
                select: function(){
                         //implementation

                },        
        render: function(){
                                $(this.el).html( this.template());
                return this;
            }
    });

问题是,它不执行jsp代码.它仅显示“测试”复选框,该复选框是经过硬编码的,不会从服务器端检索列表.你能告诉我我是否在这里想念什么吗?谢谢.

解决方法:

<%和%>下划线模板引擎也使用JSP中使用的标记.当没有任何变量要提供时,为什么在视图中使用模板?

尝试运行您的代码时,下划线模板引擎为我提供了“意外标识符”,因为<%和%>不包含要处理的有效JavaScript代码.

代替

$(this.el).html( this.template());

您应该像这样直接插入HTML字符串

$(this.el).html(this.templateHtml);

标签:backbone-views,backbone-js,javascript,jquery,jsp
来源: https://codeday.me/bug/20191127/2075189.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有