2. ListIterator和Iterator都有hasNext()和next()方法,可以实现顺序向后遍历,但是ListIterator有
hasPrevious()和previous()方法,可以实现逆向(顺序向前)遍历。Iterator就不可以。
3. ListIterator可以定位当前的索引位置,nextIndex()和previousIndex()可以实现。Iterator没有此功能。
4. 都可实现删除对象,但是ListIterator可以实现对象的修改,set()方法可以实现。Iierator仅能遍历,不能修
改。
因为ListIterator的这些功能,可以实现对LinkedList等List数据结构的操作。其实,数组对象也可以用迭代器来
实现。
org.apache.commons.collections.iterators.ArrayIterator就可以实现此功能。一般情况下,我们使用Iterator
就可以了,如果你需要进行记录的前后反复检索的话,你就可以使用ListIterator来扩展你的功能,(有点象JDBC
中的滚动结果集)。
7.Spring MVC中关于数据绑定功能:
++++++++++++++login.jsp+++++++++++++++++
<form name="User" action="/spring/login.do" method="post">
<spring:bind path="command.username">
<spring:message code="username"/><input type="text" name="${status.expression}"
value="${status.value}"/><br>
<font color="red"><b>${status.errorMessage}</b></font><br>
</spring:bind>
+++++++++++++applicationContext.xml++++++++++++++
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="login.do">loginAtion</prop>
</props>
</property>
</bean>
+++++++++++++++++Action类的配置代码片段+++++++++++++++
<bean id="loginAtion" class="com.gc.action.Login">
<property name="commandClass"> //++++++++++++注入command类,即是form表单的映射对象Bean
<value>com.gc.action.User</value>
</property>
<property name="validator">
<ref bean="userValidator"/>
</property>
<property name="formView">
<value>login</value>
</property>
<property name="successView">
<value>success</value>
</property>
</bean>
那么必须从Action类中定向到login.jsp,而不能直接打开login.jsp页面。
否则,
<spring:bind path="command.username"> 标签中的command对象取不到,
会报如下错误:
Neither Errors instance nor plain target object for bean name 'command' available as request
attribute
8.关于web.xml文件中配置 dispatcherServlet-servlet.xml
++++++++++++++++++++++++++++++++方式一+++++++++++++++++++++++++++++++++
注意:此中方式中,param-name一定要是contextConfigLocation,而方式二则没有什么限制。
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/dispatcherServlet-servlet.xml
</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
+++++++++++++++++++++++++方式2+++++++++++++++++++++++
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/dispatcherServlet-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

