我的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函数无法使用它。
答案 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']]]);
谢谢你的努力。