浏览 1057 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2007-05-24 关键字: SPring MVC
最近我在用Spring开发项目,用到jsp以及FreeMarker模板引擎,但是总是发生冲突的问题,下面是我的在web.xml
中的配置文件: <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <!-- ======================================================== --> <!-- Spring MVC Config Servlet --> <!-- ======================================================== --> <servlet> <display-name> This is the display name of my J2EE component </display-name> <servlet-name>dispatcher</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/dispatcher-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <!-- ======================================================== --> <!-- Spring MVC Config Mapping --> <!-- ======================================================== --> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>*.view</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> <jsp-config> <taglib> <taglib-uri>/spring</taglib-uri> <taglib-location>/WEB-INF/spring.tld</taglib-location> </taglib> </jsp-config> </web-app> 下面是关于SpringBean的配置文件: <?xml version="1.0" encoding="GB2312"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd"> <!-- ===================================================== --> <!-- Show Exception Page --> <!-- ===================================================== --> <!-- ===================================================== --> <!-- ViewResolver For FreeMarker --> <!-- ===================================================== <bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"> <property name="cache"> <value>true</value> </property> <property name="suffix"> <value>.ftl</value> </property> <property name="exposeRequestAttributes"> <value>true</value> </property> <property name="exposeSessionAttributes"> <value>true</value> </property> <property name="exposeSpringMacroHelpers"> <value>true</value> </property> <property name="contentType"> <value>text/html; charset=GB2312</value> </property> <property name="order"> <value>1</value> </property> </bean>--> <!-- ===================================================== --> <!-- ViewResolver For FreeMarkerConfigurer --> <!-- ===================================================== <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name="templateLoaderPath"> <value>/WEB-INF/FTL/</value> </property> <property name="defaultEncoding"> <value>GB2312</value> </property> <property name="freemarkerSettings"> <props> <prop key="template_update_delay">3600</prop> </props> </property> </bean>--> <!-- ===================================================== --> <!-- ViewResolver For JSP --> <!-- ===================================================== --> <bean id="JSPViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix"> <value>/WEB-INF/JSP/</value> </property> <property name="suffix"> <value>.jsp</value> </property> </bean> <bean id="IndexController" class="sprinl.mvc.IndexController"> <property name="messages"> <value>我的第一个Spring-View例子--要给我鼓励</value> </property> <property name="page"> <value>home</value> </property> </bean> <bean id="presonController" class="sprinl.mvc.PresonController"> <property name="page"> <value>preson</value> </property> </bean> <bean id="welcomeController" class="sprinl.mvc.WelcomeController"> <property name="viewName"> <value>welcome</value> </property> </bean> <bean id="simpleUrlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/home.view">IndexController</prop> <prop key="/welcome.view">welcomeController</prop> <prop key="/preson.view">presonController</prop> </props> </property> </bean> </beans> 在同时试用的情况下,只能用一种视图解析器解析,当我把Freemarker解析器loader前置,jsp就会访问失败,请问 如何配置JSP + FreeMarker 解析器同同时工作的情况 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
| 返回顶楼 | |
|
时间:2007-05-24
这个需要你自己重新写 ViewResolver 让他在找不到文件(jsp,ftl)的时候 返回 null
这样 mvc 就会去找 下一个了,现在你配的 2个 ViewResolver 默认 都会返回一个 view 对象的。 |
|
| 返回顶楼 | |
|
时间:2007-11-12
Sunteya 写道 这个需要你自己重新写 ViewResolver 让他在找不到文件(jsp,ftl)的时候 返回 null
这样 mvc 就会去找 下一个了,现在你配的 2个 ViewResolver 默认 都会返回一个 view 对象的。 我也遇到同样的问题啦。到底怎么解决?请指点! |
|
| 返回顶楼 | |
|
时间:2008-05-09
View view = null;
for(ViewResolver vr:viewResolvers)
{
view = vr.resolverView(..); // 但是,这里抛出异常的话,下一个ViewResolver就不会被启用了
if(view != null)
{
break;
}
}
|
|
| 返回顶楼 | |
|
时间:2008-05-09
混用多种视图要用ResourceBundleViewResolver。
|
|
| 返回顶楼 | |







