SpringMVC与Freemarker整合需要用到request来获取locale,但是默认freemarker是获取不到request的,只能获取到Request,但是大写的Request与小写的request是不同的。大写的Request是freemarker.ext.servlet.HttpRequestHashModel的实例对象,而小些的request是HttpServletRequest对象,所以区别在于这里。那么我需要获取到小写的request对象需要怎么做了,请大家参看以下配置:
<property name="viewResolvers">
<list>
<!-- jsp
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jsp" />
-->
<!-- freemarker -->
<bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="cache" value="true"/>
<property name="prefix" value="/"/>
<property name="suffix" value=".ftl"/>
<property name="exposeSpringMacroHelpers" value="true"/>
<property name="exposeRequestAttributes" value="true"/>
<property name="exposeSessionAttributes" value="true"/>
<property name="requestContextAttribute" value="request"/>
<property name="contentType" value="text/html; charset=utf-8"/>
</bean>
</list>
</property>
从里面的配置中我想大家应该都看到了
<propertyname="requestContextAttribute"value="request"></property>
这一句就是把HttpServletRequest的属性存放到request这个变量里面的。一般我们要获取request.setAttribute(“key”,”value”)直接都可以使用Request["key"]来获取,而不必使用request。
Freemarker里面使用request代码如下:
${request.getlocale()}
分享到:
相关推荐
SpringMVC入门参数绑定SSM整合 SpringMVC是一种基于MVC模式的Web应用程序框架,它是Spring框架的一个模块,用于开发Web项目。下面是SpringMVC入门参数绑定SSM整合的知识点总结: 一、SpringMVC概述 SpringMVC是...
- 使用`@RequestBody`注解可将整个请求体映射到一个对象。 - `@ResponseBody`将方法的返回值直接写入HTTP响应体。 5. **异常处理**: - 可以通过`@ExceptionHandler`注解定义全局异常处理器。 - `@...
4. **整合SpringMVC**:在SpringMVC配置文件中注册相关的Bean,包括DataSource、SqlSessionFactory、MapperScannerConfigurer等。 #### 五、SpringMVC注解开发 SpringMVC提供了丰富的注解支持,使开发者能够更方便...
- **View**:负责渲染和展示结果,如JSP、Freemarker或Thymeleaf模板。 - **Controller**:处理请求并返回Model,起到连接模型和视图的作用。 2. **配置SpringMVC** - 首先需要在`web.xml`中配置`...
SpringMVC与MyBatis的整合主要涉及以下几个方面: 1. **DAO层**:使用MyBatis进行数据访问操作。 2. **Service层**:处理业务逻辑。 3. **Controller层**:处理HTTP请求,调用Service层。 通过这种方式,可以实现...
- **定义**:SpringMVC是一个基于MVC设计理念的Web层框架,它是Spring框架的一个模块,可以轻松地与Spring其他模块整合,无需额外的整合层。 - **优势**:相比其他框架,如Struts2,SpringMVC的组件之间耦合度更低,...
4. **SpringMVC与MyBatis整合** - SpringMVC可以与MyBatis无缝集成,实现数据库操作,通过Spring的DataSource和SqlSessionFactoryBean配置数据源和会话工厂。 - Controller中注入Service,Service中通过MyBatis的...
- **实现方式**:使用`@ResponseBody`注解将Java对象序列化为JSON字符串,或使用`@RequestBody`注解将JSON字符串反序列化为Java对象。 ##### 6.5 RESTful支持 - **实现方式**:通过`@RequestMapping`指定HTTP方法和...
本项目以"springmvc+spring"为主题,旨在创建一个基于Maven的Java Web项目,其中整合了Spring框架与Spring MVC前端控制器。下面我们将深入探讨这两个关键组件以及它们如何协同工作。 **Spring框架** Spring框架是...
它使得开发者无需依赖中间件来整合应用,因为 SpringMvc 已经提供了这样的功能。 2. **SpringMVC 的优点**: - **组件化**:所有的应用对象,如控制器和视图,都是 Java 组件,并且与 Spring 的其他基础设施紧密...
5. **View**:视图负责渲染数据,可以是JSP、Thymeleaf、Freemarker等模板引擎。视图解析器(如InternalResourceViewResolver)负责将Model中的数据传递给视图。 6. **SSM集成**:在本示例中,SpringMVC与Struts和...
4. **View**:视图负责展示数据,SpringMVC支持多种视图技术如JSP、Freemarker、Thymeleaf等。 5. **ViewResolver**:视图解析器负责将Model和视图名称转换为实际的视图对象。 **MyBatis框架详解** MyBatis是一个轻...
在本项目"SpringMvc简单demo04"中,我们将探讨如何使用Spring MVC框架实现一个简单的Web应用程序,并重点关注AOP(面向切面编程)中的拦截器和处理请求对象以及请求头的相关知识。首先,让我们理解Spring MVC的核心...
- **与WebWork整合**: FreeMarker可以与其他MVC框架如WebWork、SpringMVC等整合。 5. **高级方法** - **自定义方法**: 可以创建自定义的FreeMarker函数以扩展其功能。 - **自定义Transforms**: 自定义转换器...
@ModelAttribute用于从模型中获取或创建一个对象,可以用于请求参数的绑定和视图模型的构建。 18. **谈谈SpringMVC中的视图技术,例如JSP、FreeMarker和Thymeleaf。** JSP是最常见的视图技术,但存在性能瓶颈;...
`@RequestBody` 和 `@ResponseBody` 注解分别用于将请求体映射为方法参数,以及将方法返回值转换为响应体。 11. **Tiles 和 Freemarker 视图技术** 除了 JSP,Spring MVC 还支持 Tiles 和 Freemarker 等模板引擎,...
Spring MVC整合Freemarker及使用方法 Spring MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量...通过以上配置和使用方法,可以将Spring MVC与Freemarker整合,实现了灵活和松散耦合的Web应用程序开发。
SSM整合是指将Spring、SpringMVC和Mybatis这三大主流Java Web框架集成在一起,实现数据持久层、业务逻辑层和表现层的高效协作。Spring作为核心容器,负责管理所有组件(如Service、DAO等);SpringMVC作为表现层框架...
Spring MVC 提供了强大的数据绑定和验证功能,`@RequestParam`、`@PathVariable`、`@RequestBody` 等注解用于参数绑定,而 `@Valid` 和 `javax.validation` 验证注解用于数据校验。 8. **RESTful API 设计**: ...
- **ViewResolver**:视图解析器,将逻辑视图名解析为实际的视图对象(如JSP、Freemarker等)。 - **View**:视图对象,负责渲染视图,展示数据。 2. **Spring MVC 请求处理流程** 1. 用户发起请求到...