环境:eclipse-3.2 + struts-1.2.9 + lomboz-3.2
把struts目录lib下的jar包复制到WebContent\WEB-INF\lib目录,eclipse自动把所有WebContent\WEB-INF\lib目录下的jar包添加到build path里,不必手动添加。在配置web.xml时,提示错误,但是不影响struts tag的使用,错误提示为:
=======================================
cvc-complex-type.2.4.a: Invalid content was found starting with element 'taglib'. One of '{"":description, "":display-name, "":icon, "":distributable, "":context-param, "":filter, "":filter-mapping, "":listener, "":servlet, "":servlet-mapping, "":session-config, "":mime-mapping, "":welcome-file-list, "":error-page, "":jsp-config, "":security-constraint, "":login-config, "":security-role, "":env-entry, "":ejb-ref, "":ejb-local-ref, "":service-ref, "":resource-ref, "":resource-env-ref, "":message-destination-ref, "":message-destination, "":locale-encoding-mapping-list}' is expected.
======================================
但是项目哪里有那么个红叉怎么看就不爽,搜索网络,对比没有出错的web.xml,发现问题出在web.xml里的这么句话:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
第一种方法:
删了这句(记得要保留)红叉就不见了。
第二种方法:
保留不变,把用包括起来,一样不会提示错误。
有搜到这样的解释:(http://www.cnblogs.com/dekn/archive/2006/01/03/310365.html)
在jsp2.0中,且2.4版的DTD验证中,初步估计是由于eclipse在部署时,未对web.xml进行一些校验,而jbuilder则进行了校验,并除非不合法的描述符,而taglib描述符,正确写法是放到描述符中。
相信是一样的原因。eclipse3.2开始也对web.xml做校验,所以提示错误。在eclipse3.1.2里没有提示错误。
不明白是否是这样,哪位大虾知道,请不吝赐教。
阅读(2104) | 评论(4) | 转发(0) |