当我们即便是把一个完整的项目导入到eclipse之后,也有可能会在jsp中出现类似于下面这样两种错误。
Description Resource Path Location Type
Fragment "/xxx.jsp" was not found at expected path /xxxx.jsp xx.jsp /xxxxx line 6 JSP Problem
Description Resource Path Location Type
The function fns:getXxx is undefined list.jsp /xxxxx line 97 JSP Problem
第一个往往出现在jsp <head>
标签中对其他jsp的引用时,例如:
<%@ include file="/xxx.jsp"%>
第二个错误则会出现在你使用自定义jstl函数的时候,例如:
${fns:getXxx(empSalary.empId)}
不过即便是被eclipse标记为error,其实这些错误也往往不会影响程序的运行。但是如果大量的errors占据了problem界面,我们就很难再看到其他真正需要去解决的error了。所以最好是能够隐藏这些错误。
解决方法:
右键项目,选择properties,找到Validation页签,点击右上角的Configure Workspace Settings…
找到JSP Suntax Validator,把第二个取消选择。
随后Apply之后eclipse就会重新校验整个项目,完成之后大部分有关Description Resource Path Location Type
错误就会消失。(fns那种jstl的错误也许还会留在jsp页面之中,但是不会再出现在Problems中)。
当然你也可以在图1中点选Enable project specific settings
,这样你就可以对每个指定的项目进行单独的校验配置。
还有就是因为eclipse默认的校验规则很多很杂,往往会拖慢程序的运行速度,所以如果你本来就不需要那些自动校验规则,可以再最开始就设置取消。
其他:
要是遇到下面这种情况,就可以用另一种方法。
Description Resource Path Location Type
Start tag (<count>) not closed properly, expected '>'. xxx.html /xxxx line 64 HTML Problem
这种情况就是标签没有被正确的结束,一般来说这种错误其实最好是让它显示着,因为就是有可能我们会忘记加结束标签,如果要是不显示,以后也许debug会很麻烦。
但也有可能你会遇到与我类似的情况,就是导入了一个已经完整的项目,而且我们也不会对它进行编辑了,也许就只是引用或者看看而已。那么在这种情况下,我还是建议单独对这个项目进行校验设置,而不影响到其他你正在编写的项目。
解决方法:
依然是右键项目,选择properties,点击Validation下面的HTML Syntax,(我这里是html出了问题,你当然也可以选择JSP Syntax),勾选Enable project specific settings
,在Missing end tag
后面选择Warning。(这里我只是希望这个改变只在这个项目中生效),随后再apply就好了。
参考:
What does validate do in eclipse?
jsp:include 导入一个action