分享

在spring MVC中配置多个视图

 rui5327 2011-10-26
如果在一个项目中有人比较喜欢用freemarker,而有人对JSTL(Jsp标准标记库)比较熟,那就得配置多种视图的方式!
1.首先在web.xml,配置多个Dispatcher,不同视图当然转发不一样!

web.xml
Java代码 复制代码 收藏代码
  1. <servlet-name>fm</servlet-name>
  2. <servlet-class>
  3. org.springframework.web.servlet.DispatcherServlet
  4. </servlet-class>
  5. <load-on-startup>1</load-on-startup>
  6. </servlet>
  7. <servlet-mapping>
  8. <servlet-name>jstl</servlet-name>
  9. <url-pattern>/*.do</url-pattern>
  10. </servlet-mapping>
  11. <servlet-mapping>
  12. <servlet-name>fm</servlet-name>
  13. <url-pattern>/*.fm</url-pattern>
  14. </servlet-mapping>
  15. <servlet>


2.然后再配置*-servlet文件

jstl-servlet.xml
Java代码 复制代码 收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www./dtd/spring-beans.dtd">
  3. <beans>
  4. <bean id="simpleUrlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
  5. <property name="mappings">
  6. <props>
  7. <prop key="/hello.do">showCon</prop>
  8. </props>
  9. </property>
  10. </bean>
  11. <bean name="showCon" class="test.mvc.web.ShowController"/>
  12. <bean id="viewResolver"
  13. class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  14. <property name="prefix"><value>/WEB-INF/template/jsp/</value></property>
  15. <property name="suffix"><value>.jsp</value></property>
  16. <property name="viewClass">
  17. <value>org.springframework.web.servlet.view.JstlView</value>
  18. </property>
  19. </bean>
  20. </beans>


fm-servlet.xml
Java代码 复制代码 收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www./dtd/spring-beans.dtd">
  3. <beans>
  4. <bean id="simpleUrlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
  5. <property name="mappings">
  6. <props>
  7. <prop key="/hello.fm">showCon</prop>
  8. </props>
  9. </property>
  10. </bean>
  11. <bean name="showCon" class="test.mvc.web.ShowController"/>
  12. <bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
  13. <property name="suffix"><value>.fm</value></property>
  14. <property name="viewClass">
  15. <value>org.springframework.web.servlet.view.freemarker.FreeMarkerView</value>
  16. </property>
  17. <property name="contentType"><value>text/html; charset=gb2312</value></property>
  18. </bean>
  19. </beans>

两个视图都调用test.mvc.web.ShowController,所以即使全部换了视图层,也不影响到控制层的东西,这就是spring MVC强大之一!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约