2017-09-01 47 views
0

我的web应用程序是用Java(后端)编写的。它使用Spring框架。javascript不接受我的c:out

现在,当我的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和数据表的顶部上的过滤器延伸)。

的C的结果是:出应该是这样的:

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

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

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

不知何故Javascript不接受这个字符串。

我编辑了我的问题,因为它是错误的。 c:out工作和撇号我们在正确的地方。我想我的字符串中有一些whitspace,所以JS函数不能使用它。

+0

撇号不在c:out标记中,直接在JSP代码中。所以它与c:out没有任何关系。 –

回答

0

试试下面一个:

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

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

0

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

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

输出:

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

谢谢你的努力的家伙。