`
argan
  • 浏览: 129604 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

MVC中被忽略的View层

阅读更多

现在市面上这么多的java web 开发框架,struts2,spring mvc,wicket,tapestry,stripes,click....随便列一些就很多了,在web应用开发和维护的时候,我们会关注哪些功能呢?

 

提到现在的web框架,我们的第一印象是什么?POJO controller?支持spring,支持guice,支持EJB3?至于View呢,我们支持jsp、freemarker、 velocity、JSF、xxx template,view层,也就tapestry有点性格,考虑了一些问题(后来wicket可以认为是"借鉴"他的理念)

 

 

大部分的框架,支持模板系统,就宣称我们的业务逻辑和展示是分离的,但是实际操作起来,这个程度上的分离还远远不够,要做好也很困难,但是现在,我需要一个View层的解决方案。

 

一些经常碰到的问题:

*运营人员说:要修改一个链接和一段文本,因为在一个动态页面里面,需要开发人员来动手,于是在某个应用上(或几个)做分支,修改,测试,预发布,发布

   靠,我就改这么点东西,告诉我需要1个工作日,还得申请紧急发布(得老大批准)

*开发人员说:UED的同学怎么又把模板里的一个变量给搞掉了,内容又不正确了(甚至是页面500了)

*法务说:有个推广链接要拿掉,全给我找出来干掉!不然老板要被请去喝咖啡了。

 

要解决这些问题,我期望的View层能够:

*很好的分离逻辑与显示,不是宣称,而是真正解决问题,不过还没想好是什么样子

*动态内容和静态内容很好的分离,静态的资源有很好的抽象和管理

*简单直白的开发维护方式

 

分享到:
评论
12 楼 iaimstar 2009-09-21  
logicgate 写道
iaimstar 写道
我还是比较喜欢servlet直接print代码

遇上复杂的ui,这么print岂不是耦合度太高?我觉得对于view层,越是复杂,就越应该把structure, presentation, behavior三者分离。

复杂的东西都是客户“毛病多”最后搞出来的

我们做的东西页面巨简单,连复杂的js都没有 木哈哈哈,jsp+include servlet最合适
11 楼 argan 2009-09-21  
prowl 写道
tapestry才是最完美的view OOP。

楼主列的那些问题 完全可以再tapestry里轻松解决。


tapestry 是做了不少的事情,解决方案也挺干净的,但还是不够理想,可能我想的不仅仅是一个模板的问题了吧,实际上涉及到的不止是开发这个环节的问题
10 楼 logicgate 2009-09-21  
iaimstar 写道
我还是比较喜欢servlet直接print代码

遇上复杂的ui,这么print岂不是耦合度太高?我觉得对于view层,越是复杂,就越应该把structure, presentation, behavior三者分离。
9 楼 prowl 2009-09-21  
tapestry才是最完美的view OOP。

楼主列的那些问题 完全可以再tapestry里轻松解决。
8 楼 抛出异常的爱 2009-09-21  
wiki丰富化

就是页面的所有元素
都是用wiki可调的.

这样子业务人员才能真正的自己完成业务逻辑

PS:如果自己写html生成模板...我就用决对定位来布局元素.
7 楼 iaimstar 2009-09-21  
我还是比较喜欢servlet直接print代码
6 楼 蔡华江 2009-09-21  
ajf8 写道
jsp就是view层最好的解决方案哦^_^

是最快捷的解决方案吧。
5 楼 ajf8 2009-09-21  
jsp就是view层最好的解决方案哦^_^
4 楼 sdnasky 2009-09-21  
通过xml将view层隔离开
3 楼 night_stalker 2009-09-20  
lz 可以看看 lift …… 它是 view first 的 mvc 框架。
它满足 lz 的各种需要 …… 不过是否简单直白就见仁见智了。
2 楼 魔力猫咪 2009-09-19  
感觉这个不是View本身的问题。而是应用不符合需求。
一些经常需要更换的链接和文本本来应该动态处理的,你把他们静态了。那么这么折腾就不新鲜了。
我觉得与其开发新的View技术,不如多做一个模块,把你需要管理的部分管理起来。还有就是模板模块化。比如一些公共部分做成页面块来使用。

简单的页面更新也可以考虑简化发布流程。
1 楼 leejon 2009-09-19  
我是觉得咯。VIEW。本来就是不可忽略的。
虽然说,我们技术人员专注于业务逻辑的开发,但是,我们的结果始终是以VIEW的形式呈现给客户和用户的。难道你把结果System.out.println();???
如果我们技术人员能将VIEW和业务逻辑都在头脑中形成一套比较好的体系,那是很不错的。

相关推荐

    MVC学习视频

    **MVC(Model-View-Controller)模式是软件开发中的一种设计模式,尤其在Web应用开发领域广泛应用。C# MVC是Microsoft为.NET Framework提供的一种基于MVC架构的Web应用程序开发框架。这个“MVC学习视频”教程涵盖了...

    Mvc传递Json数据

    在ASP.NET MVC中,Json数据的传输主要涉及到两个关键点:控制器(Controller)和视图(View),以及Ajax请求。 1. 控制器返回Json结果 在控制器方法中,我们可以使用`JsonResult`类来返回Json数据。例如: ```...

    剖析ASP.NET MVC的DependencyResolver组件

    在深入探究*** MVC框架的组件时,我们常常会忽略一些底层的细节。但当我们要构建出高效、可维护的应用时,理解这些基础构件就显得至关重要。今天我们将一起深入了解和剖析*** MVC的DependencyResolver组件,这是一个...

    Newtonsoft.Json C# MVC中json对象json字符串处理2.0版3.5版4.0版4.5版(历史版本全)

    在.NET框架中,尤其是在MVC(Model-View-Controller)架构中,它是一个不可或缺的工具,用于序列化和反序列化JSON对象,将C#对象转换为JSON字符串,以及将JSON字符串解析回C#对象。 在C# MVC项目中,JSON处理通常...

    easyui mvc

    1. **.gitignore**:这是一个版本控制配置文件,指示 Git 忽略哪些文件或目录,防止不必要的文件被添加到版本库中,如编译产生的临时文件、日志文件等。 2. **jeasyuimvc.sln**:这是一个 Visual Studio 解决方案...

    MVC路由机制

    MVC(Model-View-Controller)是一种流行的软件架构模式,常被应用于Web应用开发中。MVC模式将应用分为三个核心部分:模型(Model)、视图(View)与控制器(Controller)。本文旨在深入探讨MVC中的路由机制及其工作...

    ASP.NETMVC5蒋金楠

    ASP.NET MVC5是微软开发的一款用于构建Web应用程序的框架,它是ASP.NET平台的一部分,结合了MVC(Model-View-Controller)设计模式和ASP.NET Web Forms的诸多优点。在这个框架中,蒋金楠是一位知名的讲师,他通过...

    MVC四种表单提交

    在这个例子中,表单数据将被发送到`/Star/Apply`路径对应的控制器和Action方法进行处理。 #### 三、jQuery + Ajax 提交表单 使用jQuery库结合Ajax技术可以实现异步表单提交,这种方式不会刷新整个页面,而是局部...

    spring mvc(整合了json)

    3. **模型对象到 JSON 的转换**:Jackson 提供了 `@JsonProperty` 和 `@JsonIgnore` 等注解,用于控制哪些字段应该被序列化为 JSON,哪些应该被忽略。在 Model 类中,我们可以使用这些注解来定制序列化和反序列化的...

    ASP.NET MVC中的扩展点

    MVC(Model-View-Controller)是一种软件架构模式,它将应用程序逻辑分为三个核心组成部分:模型(Model)、视图(View)和控制器(Controller)。这种分离有助于简化开发过程并提高代码的可维护性和可扩展性。ASP...

    微软推荐的基于.NET-MVC书籍,英文版的

    总的来说,这本.NET-MVC英文版书籍是.NET开发者的一份宝贵资源,尽管内容繁多且深入,但对提升.NET MVC技能和理解Web开发的最佳实践有着不可忽视的价值。虽然书的厚度可能会带来一定的阅读挑战,但对于决心投身于...

    基于MVC设计模式shop完整项目代码

    MVC(Model-View-Controller)设计模式是一种广泛应用于Web应用开发中的架构模式,它将应用程序的业务逻辑、用户界面和数据访问分离开来,使得各部分可以独立工作,提高代码的可维护性和可扩展性。在这个名为"基于...

    学生选课系统实训项目基于MVC模式

    在这个学生选课系统中,Model部分可能包含如“学生”、“课程”等实体类,以及与数据库交互的DAO(Data Access Object)层,用于执行SQL语句,进行数据的增删改查。这些操作可能通过JDBC(Java Database ...

    ASP.NET MVC5 新特性

    例如,在下面的示例中,`isbn`参数被标记为可选: ```csharp [Route("books/{isbn?}")] public ActionResult View(string isbn) { if (!String.IsNullOrEmpty(isbn)) { return View("OneBook", GetBook(isbn)); ...

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

    在这个系列课程的第四部分,我们将深入探讨可替换的视图(View)机制,这是MVC框架中的一个重要组成部分。 视图在MVC架构中扮演着呈现数据的角色,它是用户与应用交互的界面。可替换的视图允许开发者根据不同的场景...

    Pro Spring MVC with Web Flow

    在Web应用程序开发中,视图解析是重要一环,而安全性也是不能忽视的部分: - **视图解析**:理解如何在Spring MVC中解析和实现视图,包括JSP、FreeMarker等模板技术的使用。 - **Spring Security**:本书还将介绍...

    ASP.NET MVC 4高级编程

    1. **控制器(Controllers)**:在*** MVC中,控制器负责处理用户输入,并调用模型(Model)层的代码来访问数据,然后将数据传递给视图(View),以生成响应。在高级编程中,将讨论如何创建高级路由、构建动态操作、...

    Spring_MVC详解学习

    Spring MVC是Spring框架中的一个核心模块,它遵循了MVC(Model-View-Controller,模型-视图-控制器)设计模式。Spring MVC允许开发者构建灵活且可维护的Web应用程序。配置Spring MVC框架是确保Web应用程序能够高效...

Global site tag (gtag.js) - Google Analytics