未捕获的SyntaxError:意外的标记ILLEGAL

时间:2014-04-04 21:05:00

标签: java jsp

我有以下代码(jsp)

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>



 <script type="text/javascript">
      $(document).ready(function() { 

         <c:forEach items="${messages}" var="msg"  varStatus="i">

            alert("${msg.description}");

         </c:forEach>
      });

</script>

Ans messages是一个Arraylist,它从控制器传入此JSP。

    model.addAttribute("messages", messages);

    return "the_above_jsp";

这一点正常,直到description值保持以下字符串值。

New task assigned from project Hip Tensile Strength Analysis : Data Management/Analysis Task due date is 20140408

description具有此值时,它将显示错误Uncaught SyntaxError: Unexpected token ILLEGAL

为什么?

1 个答案:

答案 0 :(得分:0)

我在设置属性并传递jsp时,通过从字符串description中删除换行符解决了这个问题。

    for(int i=0;i<messages.size();++i){
        messages.get(i).setDescription(messages.get(i).getDescription().replaceAll("\n", ""));          
    }


    model.addAttribute("messages", messages);

    return "the_above_jsp";

但我不知道它是如何运作的。可能是newLine字符的非法字符。或者可能有更好的解释。请修改这个或添加一个新的答案虽然我疯狂猜测解决了这个问题。

相关问题