javascript不接受我的c:out

时间:2017-09-01 08:47:23

标签: jsp jstl el

我的Web应用程序是用Java(后端)编写的。它使用Spring Framework。

现在当我的Controller将模型返回到前端jsp时,我想从它的Hashmap中获取一些值。

为此,我使用JSTL和表达式语言库。

<c:if test="${not empty model.ladungstraegerNummer}">
                    yadcf.exFilterColumn(oTable, [[3, ['
                    <c:out value="${model.ladungstraegerNummer}"/>
                    ']]]);
                    </c:if>

首先,我检查变量是否为空(有时是),然后将其写入Javascript代码(yadcf是jQuery和Datatables之上的Filter扩展)。

c:out的结果应如下所示:

yadcf.exFilterColumn(oTable, [[3, ['WNC402']]]);

撇号非常重要。我的代码输出是:

yadcf.exFilterColumn(oTable, [[3, ['
                             WNC402
                             ']]]);

不知何故,Javascript不接受此字符串。

我编辑了我的问题,因为它有问题。 c:out work和撇号我们在正确的地方。我想我的String中有一些空格,所以JS函数无法使用它。

2 个答案:

答案 0 :(得分:0)

尝试下面的一个:

<c:if test="${not empty model.ladungstraegerNummer}">
                        yadcf.exFilterColumn(oTable, [[3, [
                        <c:out value="'${model.ladungstraegerNummer}'"/>
                        ]]]);
                        </c:if>

JB Nizet的上述评论是有道理的。

答案 1 :(得分:0)

我编写了我的代码,现在看起来像这样。我删除了一些空格。

      <c:if test="${not empty model.ladungstraegerNummer}">
         yadcf.exFilterColumn(oTable, [[3, ['<c:out value="${model.ladungstraegerNummer}"/>']]]);
      </c:if>

输出:

yadcf.exFilterColumn(oTable, [[3, ['WNC402']]]);

谢谢你的努力。