`
江南白衣
  • 浏览: 548387 次
  • 来自: 广州
社区版块
存档分类
最新评论

简化Spring(4)--View层

阅读更多
    作者:江南白衣 

    人生像个舞台,请良家少女离开。
    同样的,Freemarker和Velocity爱好者请跳过本篇。与弃用webwork而单用Spring MVC Controller接口的理由一样,Freemarker本来是一样好东西,还跨界支持jsp 的taglib,而且得到了WebWork的全力支持,但为了它的非标准化,用户数量与IDE的缺乏,在View层我们还是使用了保守但人人会用,IDE友好的JSP2.0 配合JSTL。

   
对于B/S结构的企业应用软件来说,基本的页面不外两种,一种是填Form的,一种是DataGrid 数据列表管理的,再配合一些css, js, ajax的效果,就是View层要关注的东西了。

1. JSP 2.0的EL代替<c:out></c:out>
JSP2.0可以直接把EL写在html部分,而不必动用<c:out>节点后,老实说,JSP2.0+JSTL达到的页面效果,已不比Velocity相差多少了。
<p>{goods.name}p> 
代替
<p><c:out value="{goods.name}"/>p>

(除了EL里面不能调用goods的函数,sun那帮老顽固始终坚持JSTL只能用于数据显示,不能进行数据操作,所以不能调用bean的get/set外的方法)

 2. 最懒的form 数据绑定

    Spring少得可怜的几个tag基本上是鸡肋,完全可以不要。 Spring的Tag主要用来把VO的值绑到input框上。但是,和Struts一样,需要逐个Input框绑定,而且语法极度冗长,遇到select框还要自己进行处理.....典型的Spring Sample页面让人一阵头晕.

    而jodd的form tag给了我们懒人一个懒得多的方法,只要在

两头用<jodd:form bean="myVO"></jodd:form>包住,里面的所有input框,select框,checkBox...统统自动被绑定了,这么简单的事情,真不明白struts,spring为什么不用,为了不必要的灵活性么?

<form>
<jodd:form bean="human">
<input type="text" name="name">
<input type="radiobox" name="sex" value="man">
<select name="age">
  
<option value="20">20option>
  
<option value="30">30option>
select>
jodd:form>
form> 


 

不过,jodd有个致命弱点是不能绑定内嵌对象的值。比如Order(订单)对象里有个Customer(顾客)对象,jodd就不能像 struts,spring一样用如下语法绑定:

 

<input name="customer.customerNo">

这是因为它的beanUtils比Jakata Common弱,用了一个错误的思路的缘故。 动用beanUtils修改一下就可以了,修改后的源码可以在这里下载

3. DataGrid数据列表

DisplayTag和ValueList都属于这种形式的Tag Library。但最近出现的Extreme Table是真正的killer,他本身功能强大不说,而且从一开始就想着如何让别人进行扩展重载,比如Extend Attributes机制就是DisplayTag这样的让千人一面者不会预留。


4.css, javascript, ajax
天下纷扰,没有什么特别想讲想推荐的,爱谁谁吧。Buffalo, DWR, Scriptaculous, Prototype, AjaxTags, AjaxAnywhere, Rico, Dojo, JSON-RPC,看着名字就头痛。

相关文章
简化Spring(1)--配置文件
简化Spring(2)--Model层
简化Spring(3)--Controller层
简化Spring(4)--View层



 

</c:out>
分享到:
评论

相关推荐

    Spring框架(spring-framework-5.2.6.RELEASE)的jar包

    Web-Servlet模块是Spring MVC的基石,提供了模型-视图-控制器(Model-View-Controller)架构,使得开发Web应用程序更为简单。Web模块则提供了基础的Web上下文,适合非MVC的Web应用程序。 4. **AOP**:AOP模块提供了...

    spring-framework-master

    5. **MVC(Model-View-Controller)模块**:Spring MVC是Spring框架的一部分,提供了一种用于构建Web应用的模型-视图-控制器架构。 6. **Test模块**:提供了对JUnit和TestNG的支持,方便进行单元测试和集成测试。 ...

    spring-web-5.2.3.RELEASE和spring-webmvc-5.2.3.RELEASE

    Spring Web MVC模块(spring-webmvc-5.2.3.RELEASE.jar)是Spring框架中用于构建MVC(Model-View-Controller)架构的Web应用程序的核心部分。它为Web开发提供了一种强大且灵活的模型绑定、数据验证、异常处理和视图...

    spring4-mvc-hibernate4

    标题“spring4-mvc-hibernate4”表明这是一个关于Spring 4和Hibernate 4集成的项目或者教程,重点在于如何在Web应用中利用Spring MVC作为控制层框架,与Hibernate ORM工具协同工作来处理数据持久化。 描述中的...

    spring-framework-5.3.20

    3. **Web**:Spring Web模块提供了将Spring应用整合到Web环境中的基础,包括MVC(Model-View-Controller)框架,用于构建高性能的Web应用。 4. **AOP(Aspect Oriented Programming)**:面向切面编程模块,允许...

    spring4-springmvc-hibernate4框架组合

    它采用了Model-View-Controller(MVC)设计模式,将业务逻辑、用户界面和数据处理分离,提高代码的可维护性。SpringMVC通过DispatcherServlet接收HTTP请求,然后调度处理器(Controller),处理器处理请求后返回...

    spring-framework-2.5-rc2-with-dependencies\spring-framework-2.5-rc2\spring-framework-2.5-rc2docs

    它与流行的MVC框架如Struts进行了更紧密的集成,提供了模型-视图-控制器(Model-View-Controller,MVC)的实现,简化了Web应用的开发。同时,2.5版本增强了Servlet API的支持,可以直接利用Servlet 2.5规范的新特性...

    spring-tool-suite-3.9.6.RELEASE-e4.9.0-win32.zip

    此外,Spring还提供了MVC(Model-View-Controller)架构,用于构建Web应用,以及Spring Data用于数据库操作,Spring Security用于权限管理和认证。 压缩包子文件的文件名称列表中提到的"sts-bundle"通常包含了完整...

    官方原版完整包 spring-framework-5.3.3.RELEASE.zip

    Spring MVC是Spring框架的一部分,提供了一种用于构建Web应用的MVC(Model-View-Controller)模式实现,支持RESTful风格的URL设计和数据绑定。 **spring-5.3.3-docs.zip** 包含了Spring框架的官方文档,这对于学习...

    spring-framework-5.3.23 源码

    在Web开发领域,Spring MVC是Spring Framework的一部分,提供了一个强大的MVC(Model-View-Controller)架构。它负责接收HTTP请求,处理业务逻辑,更新模型数据,并将结果呈现给视图。Spring MVC的松耦合设计使得...

    Spring4-Struts2-Hibernate4 CRUD Demo

    Struts 2是一个基于MVC(Model-View-Controller)设计模式的Web应用框架,它极大地简化了Java Web应用的开发。在CRUD操作中,Struts 2处理HTTP请求,调用相应的Action,然后根据结果返回对应的视图。它的拦截器机制...

    spring-framework-4.3.30.RELEASE-docs.zip

    7. **MVC(Model-View-Controller)框架** Spring MVC是构建Web应用的首选模块,它提供了处理HTTP请求、模型绑定、视图解析等功能。4.3.30.RELEASE版本优化了性能,并增加了更多注解驱动的功能。 8. **测试支持** ...

    spring-5.3.9-dist.zip

    在Web层,Spring MVC(Model-View-Controller)是一个强大的MVC框架,用于构建高性能、灵活的Web应用程序。它提供了请求处理、视图解析、模型绑定等功能,与其他Spring组件紧密集成,如Spring Security用于安全控制...

    struts2-spring-plugin-2.2.1.jar

    Struts2 是一个基于MVC(Model-View-Controller)设计模式的Java Web开发框架。它提供了强大的控制层,帮助开发者构建可维护、可扩展的Web应用。Struts2的核心功能包括:Action映射、结果映射、拦截器机制、强大的...

    spring-framework-5.0.2.RELEASE官方完整包加官方文档

    Spring Framework的核心特性包括依赖注入(Dependency Injection, DI)、面向切面编程(Aspect-Oriented Programming, AOP)、模型-视图-控制器(Model-View-Controller, MVC)架构模式,以及对Java EE标准和第三方...

    官方原版spring-framework-4.3.18.RELEASE.zip

    Spring Framework支持多种开发模式,比如模型-视图-控制器(Model-View-Controller,MVC)架构,用于构建Web应用。Spring Data提供了一组模块,简化了与各种数据存储的交互,包括JDBC、ORM框架如Hibernate和MyBatis...

    Spring4-Struts2-Hibernate4 CRUD Demo_5

    【Spring4-Struts2-Hibernate4 CRUD Demo_5】是一个综合性的开发示例,它展示了如何在Java Web应用程序中整合三大主流框架:Spring 4、Struts2和Hibernate4,进行基本的数据创建(Create)、读取(Read)、更新...

    参照阿里druid整理druid-spring-boot-starter的demo

    stat-view-servlet: enabled: true login-username: admin login-password: admin ``` 并在`src/main/webapp/WEB-INF/web.xml`中添加Servlet映射,或者在Spring Boot 2.x中通过`@WebMvcConfigurer`实现。 4. ...

    spring-framework-3.2.3.RELEASE-dist.zip

    4. **Web MVC**:Spring Web MVC是Spring处理Web请求的核心组件,提供模型-视图-控制器(Model-View-Controller,MVC)架构。它支持多种视图技术,如JSP、FreeMarker和Thymeleaf,并提供了注解驱动的控制器和数据...

    spring-framework-4.3.6.RELEASE

    Spring的Model-View-Controller(MVC)框架是构建Web应用的首选,它提供了一种解耦的方式处理请求和响应。4.3.6版本的Web MVC进一步优化了DispatcherServlet,增强了RESTful支持,并引入了ModelAndView和@...

Global site tag (gtag.js) - Google Analytics