Ivan2306 2016-01-25 09:22 采纳率: 0%
浏览 1926

spring mvc3.2.16+freemarker+tiles3为什么不能正常工作

controller

 @Controller
@RequestMapping("/welcome")
public class WelcomeController {

    @RequestMapping(value = "/index")
    public ModelAndView welcomeIndex(HttpServletRequest request) {

    String param = request.getParameter("param");
    if("1".equals(param)) {
        ModelAndView mav = new ModelAndView("index");
        return mav;
    } else {
        ModelAndView mav = new ModelAndView("welcome.index.def");
        return mav;
    }


}

}

spring-mvc.xml

<bean id="viewResolver"
    class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <property name="viewClass">
        <value>org.springframework.web.servlet.view.tiles2.TilesView</value>
    </property>
</bean>

<bean id="tilesConfigurer"
    class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
    <property name="definitions">
        <list>
            <value>/WEB-INF/tiles-defs.xml</value>
        </list>
    </property>
</bean>

<bean id="viewResolverFtl" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
    <property name="prefix" value="/" />
    <property name="suffix" value=".ftl" />
    <property name="contentType" value="text/html;charset=utf-8" />
    <property name="viewClass">
        <value> com.unicompay.framework.basedata.web.common.FreeMarkerView </value>
    </property>
</bean> 

<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
    <property name="defaultEncoding" value="UTF-8" />
    <property name="templateLoaderPath" value="/WEB-INF/views/" />
    <property name="freemarkerSettings" ref="freemarkerConfiguration" />
</bean>

<bean id="freemarkerConfiguration" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
    <property name="location" value="classpath:conf/freemarker.properties" />
</bean>


tiles-defs,xml
<?xml version="1.0" encoding="UTF-8" ?> 

<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN"
"http://tiles.apache.org/dtds/tiles-config_3_0.dtd">

<!-- 基础模版定义 -->
<definition name="mt.base.def" template="/WEB-INF/views/common/layout.ftl"  >
    <put-attribute name="content" value="/WEB-INF/views/common/content.ftl" type="freemarker"/>
    <put-attribute name="footer" value="/WEB-INF/views/common/footer.ftl" />
</definition>

<definition name="welcome.index.def" extends="mt.base.def">
    <put-attribute name="content" value="/WEB-INF/views/index.ftl" type="freemarker" />
</definition>

layout,ftl

 <#assign tiles=JspTaglibs["http://tiles.apache.org/tags-tiles"]>
<@tiles.insertAttribute name="content" />
<@tiles.insertAttribute name="footer" />




  • 写回答

2条回答 默认 最新

  • devmiao 2016-01-25 13:09
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 luckysheet
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误