`

spring3 多视图集成

阅读更多
使用spring3.2.9 集成多视图,可以使用jsp页面,ftl页面,vm页面。

源代码在附件中
主要配置:

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

<bean id="fmXmlEscape" class="freemarker.template.utility.XmlEscape" />
<bean id="FreeMarkerConfigurer"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="templateLoaderPath" value="/WEB-INF/ftl/" />
<property name="defaultEncoding" value="UTF-8" />
<property name="freemarkerSettings" ref="freemarkConfig" />
<property name="freemarkerVariables">
<map>
<entry key="xml_escape" value-ref="fmXmlEscape" />
</map>
</property>
</bean>


<!-- requestContextAttribute 在页面中使用${rc.contextPath}就可获得contextPath -->
<!-- 配置FreeMark视图 -->

<bean id="freeMarkerViewResolver"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="contentType" value="text/html;charset=UTF-8" />

<property name="viewNames" value="*.ftl" />
<property name="viewClass"
value="org.springframework.web.servlet.view.freemarker.FreeMarkerView" />

<property name="suffix" value="" /><!-- .ftl -->

<property name="cache" value="true" />

<property name="exposeSessionAttributes" value="true" />

<property name="exposeRequestAttributes" value="true" />

<property name="exposeSpringMacroHelpers" value="true" />

<property name="requestContextAttribute" value="rc" />
<property name="order" value="1" />
</bean>



<!-- ############################################################## -->

<bean id="velocityViewResolver"
class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
<property name="viewNames" value="*.vm" /> <!-- viewNames 多视图必须配置 -->
<property name="cache" value="false" />
<property name="prefix" value="" />
<property name="suffix" value="" /> <!-- suffix 必须为空 -->
<property name="contentType">
<value>text/html;charset=UTF-8</value>
</property>

<!-- 使用springMacro、使用servlet的对象 -->
<property name="exposeSpringMacroHelpers" value="true" />
<property name="exposeRequestAttributes" value="true" />
<property name="exposeSessionAttributes" value="true" />


<!-- spring的日期格式化 -->
<property name="dateToolAttribute" value="dateTool" />

<!-- velocity toolbox -->
<property name="toolboxConfigLocation" value="/WEB-INF/vmtools/toolbox.xml" />

<property name="order" value="0" /> <!-- order 多视图必须配置 -->

</bean>

    <bean id="velocityConfig"
class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
<property name="resourceLoaderPath" value="/WEB-INF/velocity/" />
<!-- velocity配置路径 -->
<property name="configLocation" value="classpath:velocity.properties" />

</bean>


<!-- ############################################################## -->

<!-- jsp 视图 -->
<bean id="internalResourceViewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewNames" value="*.jsp" /> <!-- viewNames 多视图必须配置 -->

<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />

<property name="prefix" value="/WEB-INF/jsp/" />

<property name="suffix" value="" />  <!-- suffix 必须为空 -->

<property name="contentType" value="text/html;charset=UTF-8" />

<property name="order" value="2" /> <!-- order 多视图必须配置 -->

</bean>



java类代码:

访问jsp 页面:
@Controller
@RequestMapping("/jsp")
public class JspController {

@RequestMapping("/list")
public ModelAndView list(){
ModelAndView modelAndView = new ModelAndView("list.jsp");
modelAndView.addObject("name", "jsp........");

return modelAndView;

}
}

访问ftl页面:

@Controller
@RequestMapping("/ftl")
public class FtlController {

@RequestMapping("/hello")
public ModelAndView hello(){
ModelAndView model = new ModelAndView("hello.ftl");//文件后缀必须填写
model.addObject("name", "boce...");
return model;
}
}


访问 vm页面:


@Controller
@RequestMapping(value = "/demo")
public class DemoVelocity {
// Logger logger = LoggerFactory.getLogger(VelocityDemo.class);
@RequestMapping(value = "/welcome")
public String index(Model model) throws Exception {
model.addAttribute("name", "highkgao");

model.addAttribute("age", 20);
model.addAttribute("date", Calendar.getInstance().getTime());

//model.a
System.out.println(model.toString());

return "welcome.vm"; //文件后缀必须填写
}



@RequestMapping(value = "/test.do")
public String test(Model model) throws Exception {
model.addAttribute("name", "highkgao");


System.out.println(model.toString());
return "index";
}


@RequestMapping(value="/autoBind", method={RequestMethod.GET})
  public String autoBindLogin(Model model){
      model.addAttribute("accountmodel", new AccountModel());
      return "login";
  }


@RequestMapping(value="/autoBind2", method={RequestMethod.POST})
    public String autoBindResult(Model model,AccountModel am){
        model.addAttribute("accountmodel",am );
        return "autoBindResult";
    }

}



访问后页面显示:

jsp页面:




vm页面




ftl页面







  • 大小: 29.5 KB
  • 大小: 36 KB
  • 大小: 30.2 KB
  • 大小: 24 KB
分享到:
评论

相关推荐

    使用MyEclipse查看Spring的依赖视图

    本文将详细介绍如何使用MyEclipse这一集成开发环境(IDE)来查看Spring框架中的依赖关系,并通过具体的步骤指导读者如何操作。 #### 二、MyEclipse中添加对Spring的支持 为了能够利用MyEclipse查看Spring的依赖...

    spring2 集成视图

    本文将深入探讨如何在Spring2中集成视图,以实现高效的Web应用开发。我们将讨论关键概念、配置、以及如何与不同的视图技术如JSP、FreeMarker或Thymeleaf进行交互。 首先,Spring2的MVC框架允许开发者通过`...

    springjpa 和 spring多视图配置实例

    在IT行业中,Spring...通过这个实例,你可以学习到如何在Spring环境中集成多个组件,构建一个完整的Web应用,同时理解和实践MVC模式、ORM持久化、模板引擎以及JSON数据交换。这将对你的Java Web开发技能有显著提升。

    在Web项目中集成Spring

    在Web项目中集成Spring是一个常见的开发实践,Spring框架以其强大的依赖注入、面向切面编程以及丰富的功能模块,极大地简化了Java Web应用的开发。本文将深入探讨如何在Web项目中集成Spring,包括Spring MVC的使用、...

    spring MVC3 集成 freemarker

    **Spring MVC3 集成 ...综上所述,Spring MVC3集成FreeMarker是一个常见的Web开发实践,通过这种方式,开发者可以将关注点集中在业务逻辑和数据处理上,而将视图的渲染交给FreeMarker,提高开发效率和代码质量。

    maven+spring+springmvc+mybatis集成

    Spring MVC还支持多种视图技术,如JSP、Thymeleaf等,让开发者有更多选择。 【MyBatis】: MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。在本项目中,MyBatis被用来处理数据库操作,...

    ssh集成jar包,支持spring集成Hibernate,spring集成struts2等

    - Spring与Struts2集成,Spring可以作为Struts2的Action的依赖注入容器,通过Spring的ApplicationContext获取服务层对象,实现业务逻辑处理。 - Struts2与Hibernate集成,通常在Action中通过SessionFactory获取...

    Spring3 mvc集成Tiles2

    Spring3 MVC 集成 Tiles2 是一个常见的Web开发任务,用于构建结构化的、模块化的网页布局。Tiles2 是一个视图层框架,它允许开发者将网页分解为多个组件(或称为“tiles”),每个组件负责一部分内容或样式,然后...

    SpringMVC+Spring3+hibernate4集成必备jar包

    SpringMVC是Spring框架的一部分,它是一个基于模型-视图-控制器(MVC)设计模式的轻量级Web应用框架。SpringMVC使得开发者可以将业务逻辑与表现层分离,提高代码的可复用性和可测试性。在SpringMVC中,Controller...

    spring3教程

    Spring3对DI的实现更加完善,支持更多种类型的依赖注入,如构造函数注入、setter注入和接口注入。 三、面向切面编程(AOP) AOP是Spring提供的另一种重要特性,它允许我们把关注点分离,将横切关注点(如日志、...

    Spring之Spring2.5集成Struts2.2

    3. **配置Spring**:同样在web.xml中,需要配置Spring的DispatcherServlet和ContextLoaderListener。前者处理请求,后者初始化Spring应用上下文。 4. **Struts2-Spring插件**:为了使Struts2能与Spring协同工作,...

    spring mvc spring spring jpa集成

    Spring MVC、Spring 和 Spring JPA 是Java开发中的三大核心框架,它们共同构建了一个高效、灵活的Web应用程序开发环境。在本教程中,我们将探讨如何将这些框架与MySQL数据库进行集成,以便实现数据的持久化存储。 ...

    struts1.x + hibernate 3+spring 3 集成实例

    Struts1.x、Hibernate 3 和 Spring 3 是经典的Java Web开发框架,它们的集成被称为SSH(Struts、Spring、Hibernate)集成。这个"struts1.x + hibernate 3+spring 3 集成实例"是一个空项目,特别适合初学者理解和学习...

    spring3.rar

    Spring 3是Spring框架的一个重要里程碑,它增强了对Java EE 5和6的支持,引入了更多模块,优化了性能,并提供了更好的集成能力。这一版本的核心目标是提高开发效率,提供更全面的解决方案,同时保持框架的简洁性。 ...

    Spring3+Spring3MVC+MYBatis3集成

    Spring3、Spring3MVC和MyBatis3是Java开发中的三大核心框架,它们的集成是企业级Web应用开发的常见实践。这个项目显然旨在创建一个基础的后端系统,利用Spring的强大功能来管理依赖、处理业务逻辑,通过Spring MVC...

    spring mvc与mybatis的集成

    集成 Spring MVC 和 MyBatis 可以带来很多好处,如松耦合的架构、易于维护和扩展、强大的事务管理等。在实际开发中,还可以结合 Spring Security 进行权限控制,或者使用 Spring Boot 进行快速开发。这样的组合使得...

    spring mvc集成webservice

    3. **生成服务端点**:使用Spring的`WebServiceGatewaySupport`或`WebServiceTemplate`类作为基础,创建一个服务处理器类,该类将处理来自客户端的请求,并调用业务逻辑。 4. **配置Spring MVC**:在Spring MVC的...

    Spring3MVC和JDBC的集成

    Spring3MVC是Spring框架的一个子模块,专门用于处理Web应用的模型-视图-控制器(MVC)架构。JDBC(Java Database Connectivity)则是Java与数据库交互的标准接口。本文将详细探讨Spring3MVC与JDBC的集成,以及它们...

    Spring与Struts集成方式一

    集成Spring和Struts的主要目标是让Spring负责业务逻辑和数据访问层,而Struts处理视图和控制器。以下是一些关键步骤: 1. **配置Spring**: - 创建Spring配置文件,例如`applicationContext.xml`,定义bean和其...

Global site tag (gtag.js) - Google Analytics