访问在字符串连接期间使用逗号的变量

时间:2013-08-27 12:05:27

标签: javascript string jsp

我在jsp中使用以下代码。

<%= scriptletVar%>返回一个12,000字符串。当值硬编码为12,000时,它显示正常。但是当这个值作为scriptlet变量出现时。它只会打印12.将创建一个单独的<tr>标签,其值为000。

我发现在硬编码时很难找到它的工作方式,但在动态提取时却找不到。有逗号的值有问题,但我无法找到解决方案。

 <script type="text/javascript">


        $("#table tr:eq(1)").after("<tr><td class='row-highlight txt-ctr'>   <strong><span></span></strong></td>"+
                "<td class='row-highlight txt-right'><strong></strong></td><td class='row-highlight txt-right'><strong>" +<%= scriptletVar%> +"</strong></td>" +

//Rest of code

2 个答案:

答案 0 :(得分:1)

由于JavaScript在客户端执行而JSP在服务器端执行,因此JSP在JavaScript之前执行,而传递为<%= scriptletVar%>的只是12,000。不像您期望的那样是字符串,但是当您连接字符串时,Number, Number将单个数字解析为字符串,但,将被解释为函数after的单独两个参数。因此,您必须确保JavaScript知道您希望将12,000作为字符串处理。您可以通过用双引号"包围值或仅将字符串连接在一起,但将<%= scriptletVar%>直接写入静态字符串值来执行此操作。

请尝试以下方法:

$("#table tr:eq(1)").after("<tr><td class='row-highlight txt-ctr'>   <strong><span></span></strong></td>"+
    "<td class='row-highlight txt-right'><strong></strong></td><td class='row-highlight txt-right'><strong><%= scriptletVar%></strong></td>" +

答案 1 :(得分:0)

如何将<%= scriptletVar %>放入变量中,而不是将其放入jQuery函数

<script type="text/javascript">

var someNumber = "<%= scriptletVar%>";
        $("#table tr:eq(1)").after("<tr><td class='row-highlight txt-ctr'>   <strong><span></span></strong></td>"+
                "<td class='row-highlight txt-right'><strong></strong></td><td class='row-highlight txt-right'><strong>" + someNumber  +"</strong></td>" +

//Rest of code