在Struts, Spring, Hibernate的配置文件的时候,有时候XML编辑器的智能提示并不好用。造成这个问题的主要原因是,编辑器是从XML头部的网络地址来读取DTD或者XSD文件,比如头部命名空间的http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 这些文件是用来说明XML文件格式的,解析了这些文件,编辑器才能给出正确的提示。当网络状况不好或者根本没有联网的时候,是不会有正确的智能提示的。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="u" class="com.dao.impl.UserDAOImpl">
</bean>
<bean id="userService" class="com.service.UserService">
<!--
<property name="userDAO" ref="u" />
-->
<constructor-arg>
<ref bean="u"/>
</constructor-arg>
</bean>
</beans>
我们可以利用MyEclipse的相应功能完成映射,这样,在即使不能联网的情况下,也能给出智能提示。
引入XML文件相应的DTD或者XSD格式,在myeclipse的window菜单中选择preference,然后选择XML Catalog,在struts的jar包中有struts的XML文件相应的dtd格式文件,在这里需要引入,然后在struts中书写XML标签时就会有相应的提示。在没有引入之前都是去url地址找dtd文件,会很慢或者根本不会给提示,引入dtd文件之后,就会形成网络地址和本地文件的映射,会优先从本地文件来寻找相应的dtd格式文件。
这里要填写的本地XSD或者DTD文件的Location,一般都会在插件相应的包中找到。Spring是在dist\resources目录中找到这个文件。