首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

Spring mvc配备velocity

2012-08-28 
Spring mvc配置velocity配置过程中走了一些弯路 ... 将代码留下,备案.?dispatcher-servlet.xml 配置如下:?

Spring mvc配置velocity

配置过程中走了一些弯路 ... 将代码留下,备案.

?

dispatcher-servlet.xml 配置如下:

?

<bean id="velocityConfig" value="/web/default/velocity/"/>    <property name="velocityProperties">            <props>              <prop key="directive.foreach.counter.name">loopCounter</prop>              <prop key="directive.foreach.counter.initial.value">0</prop>              <prop key="input.encoding">UTF-8</prop>              <prop key="output.encoding">UTF-8</prop>              <prop key="directive.foreach.counter.name">velocityCount</prop>              <prop key="directive.foreach.counter.initial.value">1</prop>              <prop key="velocimacro.library.autoreload">true</prop>            </props>          </property>  </bean>  <!-- spring 视图解析器配置,这里是我自己写的解析器 -->      <bean id="viewResolver" value="/web/default/screen/"/>                              <property name="suffix" value=".jsp"/>                    </bean>                    </entry>                  <entry key="vm">                      <bean value="true" />                            <property name="contentType" value="text/html;charset=UTF-8" />                              <property name="prefix" value=""/>                         <property name="suffix" value=".vm"/>                    </bean>                    </entry>              </map>          </property>      </bean>  

?

?改造后的viewresolver,可以支持多种模板渲染,根据文件后缀区分

?

package spring.tool;import java.util.Locale;import java.util.Map;import org.springframework.web.servlet.View;import org.springframework.web.servlet.ViewResolver;/** * @author hp * */public class MultipleViewResolver implements ViewResolver { private Map<String, ViewResolver> resolvers;             public void setResolvers(Map<String, ViewResolver> resolvers)         {            this.resolvers = resolvers;        }    /* (non-Javadoc) * @see org.springframework.web.servlet.ViewResolver#resolveViewName(java.lang.String, java.util.Locale) */@Overridepublic View resolveViewName(String viewName, Locale locale) throws Exception {int n = viewName.lastIndexOf(".");          if(n==(-1)) return null;            String suffix = viewName.substring(n+1);                    ViewResolver resolver = resolvers.get(suffix);            if(resolver!=null)                return resolver.resolveViewName(viewName.substring(0, n), locale);                     return null;  }}

?

web.xml配置

?

  <context-param><param-name>contextConfigLocation</param-name><param-value>classpath*:/applicationContext.xml</param-value>  </context-param>   <listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  </listener>    <servlet>         <servlet-name>springdispatcher</servlet-name>         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>         <load-on-startup>1</load-on-startup>     </servlet>      <servlet-mapping>         <servlet-name>springdispatcher</servlet-name>         <url-pattern>*.htm</url-pattern>     </servlet-mapping>
?

?

exposeRequestAttributes:默认值false,设置是否所有的request属性在与模板进行合并之前添加到model中。(可以理解为request范围内包含的所有对象,而不是一个真正的Request对象。)

exposeSessionAttributes:默认值false,设置是否所有的session属性在与模板进行合并之前添加到model中。

热点排行