这是我的web.xmlxsd
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
Run Code Online (Sandbox Code Playgroud)
这是servlet节点
<servlet>
<servlet-name>spring1</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<init-param> <!-- here is a problem -->
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-servlet.xml</param-value>
</init-param>
</servlet>
Run Code Online (Sandbox Code Playgroud)
在标记的行上xml验证器说
cvc-complex-type.2.4.a:从元素'init-param'开始发现无效内容.其中一个'{" http://java.sun.com/xml/ns/javaee ":启用," http://java.sun.com/xml/ns/javaee ":async-supported," http:/ /java.sun.com/xml/ns/javaee ":运行为," http://java.sun.com/xml/ns/javaee ":安全角色引用," HTTP://java.sun .com/xml/ns/javaee ":multipart-config}'是预期的.
有什么问题,如何更正此错误?
所以我有一个主JSP索引页面"index.jsp",它有几个包含.就像是,
<%@ include file="/WEB-INF/views/includes/jstl/include.jsp" %>
<%@ include file="/WEB-INF/views/includes/licenses/license.jsp" %>
<%@ include file="/WEB-INF/views/includes/generalHtml/header.jsp" %>
<%@ include file="/WEB-INF/views/includes/navigation/navbar.jsp" %>
<%@ include file="/WEB-INF/views/includes/generalHtml/footer.jsp" %>
Run Code Online (Sandbox Code Playgroud)
"include.jsp"包含字符串"String basePath = request.getContextPath();".
"navbar.jsp"使用"basePath",但Eclipse在"navbar.jsp"的任何一行上放置一个红色X,该行使用"basePath",消息"basePath无法解析".
我的webapp工作正常,但想知道可能导致这种情况的原因,或者它是否可以解决?或者也许有办法让Eclipse忽略这个?我只想让假阳性的红色X消失.我想Eclipse并不理解"navbar.jsp"从"include.jsp"获取"basePath",因为它与"index.jsp"一起编译.
我继承了一个Web应用程序,在Eclipse中进行设置时,它会显示特定JSP中的错误.
错误在Problems视图中没有与它们相关的描述,并且单击它们会将我带到JSP的顶部,其中红色错误下划线出现在字符串的中间,如下所示:
<%@ page erro[rPage="/basicError.j]sp" %>
[<%@ page import="javax.s]ervlet.ServletContext" %>
Run Code Online (Sandbox Code Playgroud)
想象一下,由[]括起来的部分下面有一个红色的"错误"下划线(粗体等不会在此代码段中显示,除非它在代码段中,否则我无法显示代码,因此使用[和].
其他错误示例:

单击行左侧的红色"X"图标不会执行任何操作.
我已经尝试重新导入项目,刷新,验证,移动线等,但我总是得到这个错误.
有谁知道这里发生了什么?
我的系统:Ubuntu 9.10.带有Java EE 1.2.1的Eclipse 3.5.1(手动安装 - 不是来自synaptic).Web开发人员工具3.1.1
我最近采用了别人的代码(动态Web项目),并在Eclipse中遇到大量错误,警告和错误的语法突出显示.我已经将它缩小到这四行代码(创建一个新的Dynamic Web Project,然后是一个新的JSP页面,并将其放入正文):
${(1<2)? "" : "no"}
<%for (int i = 0; i < 5; i++) {%>
<div>${5}</div>
<%}%>
Run Code Online (Sandbox Code Playgroud)
错误/警告/语法突出显示不正确
line1:'<'下的黄色警告行:文本字符串中使用的字符无效($ {(1 <2)?"yes":"no"}).
line2:'f'下的红色错误行:在此行找到多个注释:1)语法错误,插入"Finally"以完成TryStatement.2)语法错误,插入"}"以完成ClassBody
line2:')'下的红色错误行:令牌上的语法错误")",在此令牌后尝试预期
第3行:'div'下的黄色警告行:无结束标记(/ div).
line3:关闭div的'<'下的黄色警告行:此行找到多个注释:1)文本字符串中使用的字符无效($ {5} <%}%>).2)文本字符串中使用的字符无效($ {5} <%}%>).
line3:对于HTML代码,'/ div'是黑色和紫色(对于scriptlet代码?)而不是绿色
第4行:开始和结束的scriplet标签'<%'和'%>'是黑色而不是橙色
该页面在浏览器中按预期工作:您获得"5"五次.如果将第1行的空引号更改为"是",则保存,在编辑器中关闭文件,在项目浏览器中单击它>验证,然后重新打开它:所有错误/警告/错误语法突出显示消失,除非第一个(无效字符).这令人难以置信的刺激.任何想法将不胜感激.
eclipse ×3
jsp ×3
el ×1
expression ×1
include ×1
java ×1
servlets ×1
validation ×1
web.xml ×1
xsd ×1