我有一個JSP文件,其中包含用於從模型中的數據填充JavaScript數組的代碼。該JSP如下所示:在JSP中,NetBeans報告語法錯誤,但結果看起來很好,並且工作正常
data.addRows([
<c:forEach items="${AuditsByTime}" var="row">
[new Date(${row.key})<c:forEach items="${row.value}" var="c">,${c}</c:forEach>],
</c:forEach>
]);
的NetBeans最終]);
報告語法錯誤(所有3個下劃線),並且報告錯誤:
"Expected ; but found ]".
數據本身是在形式Map<Long, int[]>
Java的。
如果我取下內的forEach
data.addRows([
<c:forEach items="${AuditsByTime}" var="row">
[new Date(${row.key})],
</c:forEach>
]);
那麼它不再報告錯誤。在這兩種情況下,雖然頁面都生成了,並且外觀和功能都很完美。
我發現這個:http://forums.netbeans.org/topic54289.html但它似乎在討論一個不同的問題,因爲在這種情況下,我確實在文件中指定了錯誤位置。
這裏有一個微妙的問題,我錯過了,或者我只是混淆了NetBeans分析器?我能做些簡單的事情來刪除錯誤報告嗎?
如果我的代碼被破壞了,我會修復它,如果它是NetBeans解析器,那麼我會將它報告爲一個錯誤。
很好的解決方案,遺憾的是FN:加入似乎只接受字符串,而我的數組有一個整數數組(除非我誤解了錯誤)。在java中構建數據結構時,我可以從它們創建字符串,但效率很低。 'javax.el.ELException:java.lang.IllegalArgumentException:不能轉換[I @ 6ecdb2d2的類[我到類[Ljava.lang.String;' –
]這是正確的,簽名是一個字符串數組'''它不能與Integer對象一起使用。幸運的是,這裏有一個實現將提供這種功能。 http://stackoverflow.com/questions/296398/concatenate-strings-in-jsp-el – disrvptor
答案似乎有些過時,我不得不用一種非常不同的方式編寫標記庫:http://stackoverflow.com/questions/296398/concatenate-strings-in-jsp-el/21184534#21184534它解決了這個問題,雖然:) –