`
liqiupeng19840929
  • 浏览: 39408 次
  • 性别: Icon_minigender_2
  • 来自: 河北.
最近访客 更多访客>>
社区版块
存档分类
最新评论

Web MVC框架-视图模板查找及组织

阅读更多
我们知道,一个基于请求转发的Web MVC框架需要解决如何告知框架使用那个视图来进行程序执行结果的显示。对于struts1.x来说,需要在struts-config.xml文件中配置大量的page或者在程序硬编码中执行new Forward 来告知框架实现某个视图的跳转。而对于
struts2.0或者webwork2.0来说,需要在struts.xml文件中使用 returen SUCCESS 或者"",并在配置文件中使用配置来指定具体的输出路径。一堆一堆的代码有的时候把程序员弄得没有脾气。这也是近段时间,ralis势头上涨的原因之一。
而EasyJWeb引入了很大灵活运用,解决了传统MVC框架的查找页面再跳转问题。使用惯例代替配置的方式,可以不写任何代码或者配置文件,EasyJWeb可知道程序要跳转的页面,并且实现改页面要呈现的结果。
比如一个简单的需求,需要把登录用户的信息显示在页面上。这个需求涉及到用户需要把请求传到服务器,服务器接受请求后进行相应的业务处理,然后将相应的信息显示在页面上。
User类的基本信息如下:
public class User{
  private String username;
  private String email;
  private String birthday;
  private int login_time;
  public User(String username,String email,String birthday){
     this.username=username;
     this.password=email;
     this.birthday=birthday;
     login_time=6;//这里只是进行简单的模拟
  }
  public User(){
   
  }
  public void setUsername(String username){
     this.username=username;
  }
  public String getUsername(){
     return username;
  }
  //其他的set与get方法不再写
}
用于显示用户基本信息的html页面如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>html模板</title>
</head>
<body>
<h1>用户信息</h1>
<p>姓名:${username}<br/>
邮箱:${email}<br/>
出生日期:${birthday}<br />
登录次数:${login_time}</p>
</body>
</html>
给这个页面取名为show.html,并存放在WEB-INF/views/hello目录下。最后我们需要写一个HelloAction,从而实现动态显示各种用户的信息。HelloAction中的代码如下:
package com.easyjf.demo.mvc;
import java.util.Date;

import com.easyjf.web.WebForm;
import com.easyjf.web.core.AbstractPageCmdAction;

public class HelloAction extends AbstractPageCmdAction {
public void show(WebForm form)
{
    User user=new User("追求现实","kate296@sohu.com",new Date());   
    form.addPo(user);
}
}
在web.xml中添加一个自动扫描Action的配置,如下:
<context-param>
        <param-name>defaultActionPackages</param-name>
        <param-value>
            com.easyjf.demo
        </param-value>
</context-param>
然后起动Web服务器,在地址栏中输入, 执行结果如下:

可以看到,HelloAction的show方法中语句非常少,没有一条用来处理关于页面跳转的语句,也没有像Struts那些必须的return语句,EasyJWeb会自动找到相应的用户最想要的模板页面,然后进行输出。

当然,页面的跳转及组织并非固定死了的,如果你不愿意守这个规矩,想把show.html这个模板文件改名为show1.html,并存放到WEB-INF/views/myHello这个目录,则上面的
show方法则可以写成如下的形式:
public Page show(WebForm form){
   User user=new User("追求现实","kate296@sohu.com",new Date());
   form.addPo(user);
   return new Page("/myHello/show1.html");
}
另外,对于页面的组织,EasyJWeb是使用Module及模块的形式进行组织的,把多个相关的页面及功能都组装到一个模块中,比如假如上面的HelloAction中还要处理用户编辑,用户删除,用户列表显示等操作,则我们直接在上面的类中添加名为add、del、list等名称的方法即可,同时把相关的模板页面都统一存放在hello这个目录中。
分享到:
评论

相关推荐

    Spring MVC--5.视图和视图解析器

    在Spring MVC框架中,视图和视图解析器是实现MVC模式中“V”(View)部分的关键组件。它们负责将处理完的数据转化为用户可以理解的格式,并展示在浏览器上。视图解析器则是连接控制器与视图的桥梁,它负责根据返回的...

    Spring MVC step-by-step 源码

    Spring MVC 是一个强大的Java Web开发框架,用于构建高效、可维护的Web应用程序。它基于Spring框架,提供了模型-视图-控制器(MVC)架构,简化了开发过程。本资源"Spring MVC step-by-step 源码"是针对初学者准备的...

    spring-mvc-showcase

    视图解析器会根据ModelAndView中的视图名找到具体的视图模板。 3. ViewModel:ViewModel是Model和View的一种结合,它将Model中的数据打包成适合视图渲染的对象,方便在Controller和View之间传递。 四、...

    外文翻译Spring的MVC构架模式-CSDN下载

    Spring MVC是Spring框架中的一个核心组件,主要用于构建Web应用程序的模型-视图-控制器(Model-View-Controller)架构。它为开发者提供了灵活且强大的工具来处理HTTP请求、数据绑定、验证和视图渲染。本文将深入探讨...

    深入剖析Spring Web源码

    - Spring Web MVC框架中还包括其他类型的Servlet,如`AbstractDispatcherServletInitializer`,用于简化Servlet 3.0及以上版本的应用程序部署配置。 #### 四、Spring Web MVC的组件实现 **4.2 处理器映射,处理器...

    开发工具 spring-webmvc-4.3.6.RELEASE.rar

    Spring Web MVC 是 Spring 框架的重要组成部分,是用于构建基于Java的web应用程序的强大工具。在4.3.6.RELEASE版本中,它提供了一系列优化和增强的功能,使得开发者能够更加高效、灵活地构建互联网应用程序。本文将...

    ASP.NET MVC框架开发系列课程(4):可替换的视图(View)

    ASP.NET MVC框架是微软开发的一款用于构建Web应用程序的开源框架,它基于模型-视图-控制器(MVC)设计模式,提供了高度可测试性、更好的分离关注点以及强大的URL路由功能。在本系列课程的第四讲中,MSDN的赵劼老师...

    Spring Web MVC介绍

    总的来说,Spring Web MVC通过提供一套完整的MVC框架,极大地简化了Java Web应用的开发,使得开发者能够更专注于业务逻辑,而非底层实现细节。其清晰的架构和强大的功能使其成为Java Web开发的首选框架之一。

    一个简音的MVC框架,适合初学MVC的人理解

    在Java MVC框架中,视图通常由JSP(JavaServer Pages)或Thymeleaf等模板引擎来实现。在"SimulateMVC"中,你可能会找到一些表示页面的文件,如jsp、html或xml,它们负责展示模型中的数据。 **控制器(Controller)*...

    spring-mvc框架

    Spring MVC 是一个基于Java的轻量级Web应用框架,它是Spring框架的重要组成部分,主要用于构建表现层(Presentation Layer)的应用。Spring MVC通过模型-视图-控制器(MVC)设计模式,将业务逻辑、数据和用户界面...

    Spring MVC框架的各种依赖包下载

    9. **视图解析器(ViewResolver)**:视图解析器根据Controller返回的View名称查找实际的视图对象,如JSP页面或其他模板引擎。 10. **拦截器(Interceptor)**:Spring MVC允许定义拦截器,它们在请求被Controller...

    ASP.NET MVC 模版切换 自定义 模板路径

    ASP.NET MVC 是微软提供的一种基于模型-视图-控制器(MVC)模式的Web应用程序开发框架,它在.NET Framework上运行。MVC架构允许开发者分离应用程序的业务逻辑、数据处理和用户界面,使得代码更易于维护和扩展。模版...

    兼容IE6的spring mvc框架

    在这个场景中,"兼容IE6的spring mvc框架"意味着我们需要确保在使用Spring MVC 3.2版本开发的Web应用能够在IE6上正常运行。 **Spring MVC 3.2的关键特性:** 1. **模型-视图-控制器架构**:Spring MVC遵循MVC设计...

    spring-mvc-demo.zip

    在当今的Java Web开发领域,Spring MVC框架无疑是最为流行和广泛使用的MVC(Model-View-Controller)架构之一。本资料"spring-mvc-demo.zip"旨在深入解析Spring MVC的核心概念、工作原理以及实际应用,帮助开发者...

    MVC框架自己写的一个新闻发布系统

    使用PHP实现MVC框架,可以自定义组件,实现高效灵活的代码组织。常见的PHP MVC框架有Laravel、Symfony、CodeIgniter等,但在这个项目中,开发者选择了自行构建框架,这样可以更深入理解MVC模式的工作原理。 3. **...

    Spring MVC 框架搭建及详解

    - 对于 Spring MVC,你需要引入 `spring.jar` 和 `spring-webmvc.jar`,这两个是 Spring 框架的核心库。此外,`commons-logging.jar` 提供日志支持,`cglib-nodep-2.1_3.jar` 用于类的动态代理,以实现 AOP 功能。 ...

    spring-mvc-mybatis

    本项目"spring-mvc-mybatis"结合这两个框架,构建了一个高效的Web应用模板,让我们一起深入探讨其中的知识点。 1. **Spring MVC基础** - **DispatcherServlet**:Spring MVC的核心组件,负责接收请求并分发到相应...

    spring-mvc-01.zip

    "spring-mvc-01.zip" 文件中可能包含一个简单的Spring MVC示例应用,包含Controller、Service、DAO、配置文件、视图模板等,帮助初学者通过实践来理解Spring MVC的工作原理。通过研究这些资源,你可以学习如何设置...

    Spring &Web; &MVC;外文翻译.zip

    Spring Web MVC是Spring框架的核心部分,专门用于构建Web应用程序,特别是那些基于模型-视图-控制器(MVC)设计模式的Web应用。Spring框架提供了一个全面的编程和配置模型,帮助开发者创建灵活、可测试且松散耦合的...

    使用MVC框架开发租房网站4-5

    在本课程“使用MVC框架开发租房网站4-5”中,我们将深入探讨Java MVC框架在构建租房网站中的应用。北大青鸟ACCP6.0课程旨在帮助学员掌握实际项目开发技能,这部分内容将使你对Java Web开发有更深入的理解。 首先,...

Global site tag (gtag.js) - Google Analytics