当前位置 : 主页 > 编程语言 > java >

JSP EL(表达式语言)在Eclipse中导致问题

来源:互联网 收集:自由互联 发布时间:2021-06-25
我的系统:Ubuntu 9.10.带有Java EE 1.2.1的Eclipse 3.5.1(手动安装 – 不是来自synaptic). Web开发人员工具3.1.1 我最近采用了别人的代码(动态Web项目),并在Eclipse中遇到大量错误,警告和错误的语法突
我的系统:Ubuntu 9.10.带有Java EE 1.2.1的Eclipse 3.5.1(手动安装 – 不是来自synaptic). Web开发人员工具3.1.1

我最近采用了别人的代码(动态Web项目),并在Eclipse中遇到大量错误,警告和错误的语法突出显示.我已经将它缩小到这4行代码(创建一个新的Dynamic Web Project,然后是一个新的JSP页面,并将其放入正文):

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

错误/警告/语法突出显示不正确

line1: yellow warning line under ‘<‘: Invalid character used in text string
(${(1<2)? “yes” : “no”}).

line2: red error line under ‘f’:
Multiple annotations found at this line: 1) Syntax error, insert “Finally” to complete TryStatement. 2) Syntax error, insert “}” to complete ClassBody

line2: red error line under ‘)’: Syntax error on token “)”, try expected after this token

line3: yellow warning line under ‘div’: No end tag (/div).

line3: yellow warning line under ‘<‘ of closing div: Multiple annotations
found at this line: 1) Invalid character used in text string (${5} <%}%>). 2) Invalid character used in text string (${5} <%}%>).

line3: ‘/div’ is black and purple (for scriptlet code?) instead of green for HTML code

line4: The opening and closing scriplet tags ‘<%’ and ‘%>’ are black instead of orange

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

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

IntelliJ IDEA更好地处理JSP / EL验证.

对我来说,这些症状让我觉得WTP正在使用regexp而不是基于堆栈的解析器来验证HTML / JSP / EL.在结构化标记的情况下,这是big no-no.

网友评论