springMvc视图化,国际化,静态资源处理

来源:互联网 发布:爱奇艺视频转换器mac版 编辑:程序博客网 时间:2024/06/14 04:56

springMvc视图化,国际化,静态资源处理

1.springmvc视图化

视图解析器类型:

InternalResourceViewResolver

FreeMarkerViewResolver

BeanNameViewResolver

XmlViewResolver

 

<!-- 配置视图解析器name="prefix":前缀 name="suffix"后缀--><bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/"></property><property name="suffix" value=".jsp"></property></bean>


2.国际化

在spring.xml中配置ResourceBundlemessageSource,告诉资源文件的位置<!-- 一定要用 messageSource做bean的名称--><bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"><property name="basename" value="cn.etspringmvc.lesson04/resource/my"></property><!-- value="cn.etspringmvc.lesson04/resource/my":资源文件的位置 --></bean>  在controller层获取:@AutowiredMessageSource ms;@RequestMapping(value="/nation",method=RequestMethod.GET)public String reg(HttpServletResponse response,OutputStream out,Locale locale) throws NoSuchMessageException, IOException{response.setContentType("text/html;UTF-8");out.write(ms.getMessage("key", null, locale).getBytes("UTF-8"));return null;} 在界面层获取:引入标签:<%@taglib uri="http://www.springframework.org/tags" prefix="s" %> <s:message code="userName"></s:message>  //相当于原来的用户名: 配置注解中错误信息国际化:<!-- 配置注解中错误信息国际化  (验证) -ref="messageSource":spring.xml中配置的--><bean id="localValidatorFactoryBean" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"><property name="validationMessageSource" ref="messageSource"></property></bean><!-- 将springmvc注解的action交给springmvc处理 --><mvc:annotation-driven validator="localValidatorFactoryBean"></mvc:annotation-driven>在注解中获取:@NotEmpty(message="{userNameErro}")


通过URL参数指定:

<!-- 该拦截器 用于 拦截url上参数    只是当jsp经过action之后 才会将当前的国家和语言存储在session 同时从session中获取--><mvc:interceptors><bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"><property name="paramName" value="a"></property></bean></mvc:interceptors><!-- 参数需要被临时存储在某个地方 当用户再次访问 使用之前设置的参数 --><bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"></bean>URL:<a href="${pageContext.request.contextPath}/mid?a=zh_CN">中文</a>


3.静态资源处理

第一步:web.xml让所有请求都有springmvc处理<!-- spring mvc的配置 --><servlet><servlet-name>mvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 马上实例化 --><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>mvc</servlet-name><url-pattern>/</url-pattern></servlet-mapping>注:WEB-INF中的文件是安全的无法访问<!-- 静态资源映射 --><mvc:resources mapping="/img/**" location="/WEB-INF/imgs/" ></mvc:resources>注意:spring4.2: servlet3.0(Javaee6)支持           spring4.0: servlet2.5(Javaee5)支持