spring mvc 可能要配置多个视图模式,比方说需求要求有jsp和freemarker 2种输出文件格式。freemarker可以自己定制
xml|json|html等。
面对这样的需求,显然单纯的mvc的jsp视图模板是不够的,所以需要spring对freemarker进行支持。
对于这样的问题,有多种解决方案,就我用过的2中说说吧:
1:使用org.springframework.web.servlet.view.ResourceBundleViewResolver
直接上代码:
<!--配置一个ResourceBundleViewResolver 配置一个spring-views.properites 文件(必须在根目录) 加载的顺序是最优先
"order = 0" -->
<bean class="org.springframework.web.servlet.view.ResourceBundleViewResolver">
<property name="basename" value="spring-views" />
<property name="order" value="0" />
</bean>
<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="templateLoaderPath">
<value>/WEB-INF/views/modules</value>
</property>
</bean>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"/>
</bean>
spring-views.properties:
articles.(class)=org.springframework.web.servlet.view.JstlView
articles.url=articles.jsp
module-content-articles.(class)=org.springframework.web.servlet.view.freemarker.FreeMarkerView
module-content-articles.url=modules/content/html/articles.ftl
这里的class指定的是解析的视图类,url指定的是视图页面。
Controller类中请求方式:
return "module-content-articles";
我用的是另一种配置多视图的方式:
<!--
<bean class="org.springframework.web.servlet.view.ResourceBundleViewResolver">
<property name="basename" value="spring-views" />
<property name="order" value="0" />
</bean>-->
<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="templateLoaderPath">
<value>/WEB-INF/views/modules</value>
</property>
</bean>
<bean id="xmlviewResolver"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="suffix" value=".xml.ftl" />
<property name="contentType" value="text/xml;charset=UTF-8"></property>
</bean>
<bean id="htmlviewResolver"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="suffix" value=".html.ftl" />
<property name="contentType" value="text/html;charset=UTF-8"></property>
</bean>
<bean id="jsonviewResolver"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="suffix" value=".json.ftl" />
<property name="contentType" value="application/text;charset=UTF-8"></property>
</bean>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"/>
</bean>
这样就没有使用org.springframework.web.servlet.view.ResourceBundleViewResolver了,这样的话spring-views.properties文
件就没有存在的意义了。
Controller类:
return "content/"+format+"/articles";
目录结构
分享到:
相关推荐
通过这个“spring mvc demo加用户模块的”项目,开发者可以学习如何组织Spring MVC的项目结构,如何编写Controller、Service和DAO,以及如何配置和使用Spring MVC的各个组件。同时,了解用户管理的常见需求和解决...
3. **Spring MVC配置文件**:如`spring-mvc-config.xml`,配置视图解析器、拦截器、处理器映射器等,例如: ```xml <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> ``...
Spring MVC是Spring框架的一个核心模块,专为构建Web应用程序而设计。它提供了模型-视图-控制器(MVC)架构,使开发者能够有效地分离业务逻辑、数据处理和用户界面。在"Spring MVC 4.2.3"版本中,我们看到了一系列的...
在Spring MVC框架中,配置请求的默认处理器是构建Web应用程序的关键步骤。这个过程涉及到设置DispatcherServlet,它作为Spring MVC的核心组件,负责调度HTTP请求到相应的控制器。以下将详细阐述Spring MVC配置请求的...
Spring MVC 是一个强大的Java Web开发框架,它是Spring框架的一部分,专为构建高度可扩展和模块化的Web应用程序而设计。在2015年的版本中,Spring MVC 4已经相当成熟,提供了许多特性来简化开发流程并提高开发效率。...
此外,Spring MVC还能够与其他Spring模块(如Spring Security、Spring WebSocket等)无缝集成,提供完整的解决方案。 总之,“Spring MVC - A Tutorial”这份指南会详细讲解Spring MVC的各个核心组件和使用技巧,...
对于PDF和Excel格式的输出,Spring MVC可以通过Apache POI库来处理Excel,使用Flying Saucer或iText库来生成PDF。这些库能够将HTML内容转换为所需的格式,方便导出和下载。 总的来说,Spring MVC是Spring框架的重要...
Spring MVC 是一款强大的Java Web开发框架,用于构建高效、可维护和模块化的Web应用程序。它作为Spring框架的一部分,提供了一种优雅的方式来处理HTTP请求和响应,使得开发者可以专注于业务逻辑而不是底层实现。在这...
Spring MVC是Spring框架的一个核心模块,专为构建Web应用程序提供模型-视图-控制器(MVC)架构。在Spring MVC 4.0版本中,它引入了许多改进和新特性,以提升开发效率和应用程序的性能。 1. **依赖注入**:Spring ...
Spring MVC是Spring框架的一个模块,专为构建Web应用程序而设计,以其灵活性、高效性和可扩展性受到广大开发者的青睐。下面我们将详细探讨Spring MVC的核心概念和技术点。 1. **Spring MVC架构** Spring MVC采用...
使用`ModelAndView`对象或者直接在控制器方法中返回一个字符串(视图名),Spring MVC会根据配置的视图解析器来确定具体的视图文件。 5. **DispatcherServlet**: - Spring MVC的核心组件,它是Servlet的实现,...
Spring MVC是Spring框架的一个核心模块,专用于构建Web应用程序。这个"Spring MVC使用Demo"提供了实践操作,帮助开发者深入理解Spring MVC的开发环境配置、注解的使用以及工作原理。 首先,Spring MVC的设计模式...
Spring MVC是Spring框架的一个核心模块,专注于构建Web应用程序。在Spring MVC 5.0.3版本中,它提供了丰富的功能和改进,使得开发者能够更高效地开发RESTful服务、处理HTTP请求、管理视图以及集成其他Java库和框架。...
同时,Spring MVC的注解配置使得开发更加简便,而Struts2往往需要较多的XML配置。 Spring MVC处理AJAX请求时,可以直接返回数据,通过`@ResponseBody`注解,框架会自动将对象转换为JSON格式,便于前端处理。这简化...
这个"spring MVC简单示例"是为了帮助初学者理解Spring MVC的基本工作原理和配置,通过实践这个例子,你可以了解到如何创建一个简单的Controller、配置视图解析器并建立一个基本的请求处理流程。随着对Spring MVC的...
3. `org.springframework.web.servlet-3.0.2.RELEASE.jar`:这是 Spring MVC 的核心模块,提供了控制器(Controller)、模型视图(ModelAndView)以及调度器Servlet(DispatcherServlet)等关键组件。...
- `web-config.xml`:包含Spring MVC的核心配置,如视图解析器、处理器映射器等。 - `service-config.xml`:配置业务逻辑层的服务类。 - `hib-config.xml`:Spring与Hibernate集成的配置文件。 - `dao-config.xml`:...