2009-11-24 43 views
5

我的系统:Ubuntu 9.10。 Eclipse 3.5.1与Java EE 1.2.1(手动安装 - 不是来自突触)。网页开发工具3.1.1JSP EL(Expression Language)在Eclipse中导致问题

我最近采用了别人的代码(动态Web项目),并在Eclipse中运行了很多错误,警告和不正确的语法高亮。我已经收窄,这4行代码(创建一个新的动态Web项目,然后再新建一个JSP页面,并把这个尸体):

${(1<2)? "" : "no"} 
<%for (int i = 0; i < 5; i++) {%> 
<div>${5}</div> 
<%}%> 

错误/警告/不正确的语法高亮

线路1:在 '<' 黄色预警线:在文本字符串 使用无效字符($ {(1 < 2) “是”: “无”})。

line2:'f'下的红色错误行: 在此行找到多个注释:1)语法错误,插入“Finally”以完成TryStatement。 2)语法错误,插入“}”来完成ClassBody

线路2:在红色的错误线“)”:令牌语法错误“)”,此令牌

3号线后再试预期:在“黄色预警线div':没有结束标记(/ div)。

line3中:下 '<' 黄色警戒线闭合的div:多个注解 在此系中发现:1)在文本串中使用(无效字符$ {5} <%}%>)。 2)文本字符串中使用的字符无效($ {5} <%}%>)。

line3中: '/ DIV' 是黑紫色代替绿色为HTML代码

LINE4(对于scriptlet代码):开闭scriplet标签 '<%' 和 '%>' 是黑的,而不是橙色

该页面在浏览器中按预期工作:5次获得'5'。如果您将第1行的空引号更改为“是”,则保存,在编辑器中关闭该文件,r在项目资源管理器>验证中单击它,然后重新打开它:所有错误/警告/不正确的语法突出显示消失,除第一个(无效字符)。这是令人难以置信的刺激。任何想法将不胜感激。

+0

是的,Eclipse JSTL编辑器支持是废话。 – 2009-11-24 15:25:37

+0

其他人可以确认相同的行为(如果您创建一个新的动态Web项目,然后一个新的JSP页面,并将上述引用的代码放在HTML正文中)?您可能需要保存,关闭,验证并重新打开以查看错误/警告。谢谢。 P.s.这是另一个(可能相关的)问题;为什么只有在保存,关闭,验证并重新打开文件时才会出现新的错误/警告?它使它有点不可用... – jackocnr 2009-11-25 13:24:04

回答

13

Eclipse WTP很棒,但在Eclipse WTP中对于我来说,这个问题恰恰也是epic fail。他们似乎是工作在这一点,但在那之前我只是禁用/通过网络集到忽略所有与此相关的东西,在工作区首选项验证的>JSP文件>验证>滚动列表很底部并将所有EL验证设置设为忽略。同样在主要的验证首选项中取消选中与JSP相关的所有复选框。然而,这似乎并没有消除每个警告/错误,但它至少可以最大限度地减少烦恼。

IntelliJ IDEA处理JSP/EL验证要好得多。

对我来说,症状使我认为WTP使用regexp而不是基于堆栈的解析器来验证HTML/JSP/EL。在结构化标记的情况下,这是一个big no-no

+0

对不起,我不知道如何发送私人讯息。请参阅以下答案评论。据我了解,它指向你的博客。 http://stackoverflow.com/a/22266892/2674303 – gstackoverflow 2015-02-09 09:36:14