9

我正在使用 Eclipse Helios Release。Eclipse xml 验证器不喜欢我的 web.xml 中的display-name元素<servlet>。这是相关部分:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns="http://java.sun.com/xml/ns/javaee" 
  xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                      http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  id="WebApp_ID"
  version="2.5">

  <display-name>PropTax</display-name>
  <servlet> 
    <servlet-name>PropTax</servlet-name>     
    <display-name>PropTax</display-name> 
    <servlet-class>org.slco.treasurer.propertytax.servlet.PropTax</servlet-class>
  </servlet>
  (...)

如果我删除显示名称元素,则不再有错误。如果我理解正确,2.5 是支持显示名称的正确模式,甚至编辑器下的上下文帮助也会列出显示名称作为选择的一部分。

有人可以在这里帮助我吗?

来自 Eclipse 验证器的错误消息:

cvc-complex-type.2.4.a: Invalid content was found starting with element 'display-name'. One of '{"http://java.sun.com/xml/ns/javaee":servlet-class, "http://java.sun.com/xml/ns/javaee":jsp-file}' is expected. web.xml /PropTax/WebContent/WEB-INF line 6 XML Problem
4

5 回答 5

15

您需要使用“101010”按钮来引用您的 XML 以使其可读。

但是,根据您引用的 XSD,servlet 定义(servlet标记)需要display-nameservlet-name. 鉴于您发布的错误,我怀疑您已servlet-namedisplay-name. 但是,如果没有看到格式良好的 XML,就很难判断。

于 2010-10-20T21:33:39.297 回答
8

将“display-name”作为“servlet”标签下的第一个元素,验证错误应该消失。

<servlet> 
 <display-name>PropTax</display-name> 
 <servlet-name>PropTax</servlet-name>     
 <servlet-class>org.slco.treasurer.propertytax.servlet.PropTax</servlet-class>
</servlet>

于 2015-01-22T21:43:28.153 回答
3

将 xmlns = "http://java.sun.com/xml/ns/j2ee" 更改为 xmlns="http://xmlns.jcp.org/xml/ns/javaee" 并且错误应该消失。它对我有用。或者根据 ot java.sun.com 遵循约定,并在 servlet 标记下添加移动显示名称。

于 2021-09-13T04:54:21.480 回答
1

注释掉 servlet 选项卡中的警告/错误(或所有)元素,并使用 eclipse web.xml 设计编辑器为“显示名称”“添加子项”。Eclipse WEB.XML 设计编辑器将自动更新 XML 文件,验证器排列顺序。

于 2016-06-27T01:48:10.850 回答
0

您必须首先放置标签显示名称。

<servlet>
<display-name>PropTax</display-name>
<servlet-name>PropTax</servlet-name>      
<servlet-class>org.slco.treasurer.propertytax.servlet.PropTax</servlet-class>

于 2019-07-23T11:12:15.873 回答