首页 相关文章 用Validator简化Struts的开发过程

用Validator简化Struts的开发过程


  用Validator(验证器)提供的丰富的内置验证方法简化Struts的开发过程。
  
  Struts框架的一个主要好处是它提供了对接收到的表单数据进行验证的内置界面。假如有任何验证失败,则应用程序都会重新显示Html表单,这样就可以改正无效的数据了。假如验证成功,则处理过程会继续进行。Struts框架的简单验证界面会减少与处理数据验证有关的令人头疼的事情,这样你就可以把精力集中到验证代码上,而不是放到捕捉数据、重新显示不完整或无效数据的技巧上。
  
  但是,Struts内置的验证界面也有缺点。例如,在整个应用程序中验证代码经常会大量重复,因为许多域需要相同的验证逻辑。对一些相似字段的验证逻辑进行任何修改都要求在几个地方修改代码,还要重新编译受影响的代码。为了解决这个问题并增强Struts验证界面的功能,作为Struts的第三方附加件创建了Validator框架。后来,Validator被集成到核心Struts代码库中,并从Struts中分离出来,现在它是一个独立的Jakarta Commons项目。虽然Validator是一个独立的框架,但它仍能与其他程序封装在一起后提供,并与Struts无缝集成。
  
  Vali...[ 查看全文 ]

2016-02-19 标签:
  • 摘要:简易Proxy程序(源代码)。在这里把源代码贴出来。我申明这个源代码基于GNU GPL,目的在于希望大家能够有时间去更加完善它。你也可以按照你自己的希望去改变它。不过,如果你做了任何大的改动,请通知我。 上次贴出了一篇《一个简易的proxy程序的开发过程(1)》和《一个简易的UDP Proxy程序》之后,有不少网友来信询问下文何时出现。我却一直忙于工作,忘记了将下文贴上来,非常抱歉。现在...[ 查看全文 ]
  • MVC介绍 MVC模式是一种非常理想化的设计模式,应用MVC模式完成两个以上项目的人都有同样的体会,他们已经对以前的工作方法进行了彻底的改造。工作模式的改变要付出痛苦的代价,但现在你有现成的技术架构可以采用,避免在项目中自己开发、摸索。它就是开源Apache Struts framework,它提供了实现MVC设计模式最好的实现工具。 在本文中,我们将简单了解、体会一下模型-视图-控制器(MV...[ 查看全文 ]
  • Struts开发技巧 在经历了《中国电信大客户贴心服务》项目的开发以及目前正在进行开发中的《中国电信总部经营分析》项目,累计了一些对于Struts1.1和Tiles开发的一些技术和技巧,特写出来,方便以后的开发,同时也相信能给读者在开发Struts提供一些帮助 模块配置 1. Struts配置文件定义 对于系统中的某个模块,需要在开发前定义该模块的配置,该struts的配置文件命名为: struts-co...[ 查看全文 ]
  • 标签:Web开发
    一些简单的代码简化 下面是一个简单示例,它说明了 jQuery 对代码的影响。要执行一些真正简单和常见的任务,比方说为页面的某一区域中的每个链接附加一个单击(click)事件,您可以使用纯 JavaScript 代码和 DOM 脚本来实现,如 清单 1 所示。 清单 1 :没有使用 jQuery 的 DOM 脚本 代码如下: var external_links = document.getElementById('external_links'); var links = external_links.getE...[ 查看全文 ]
  • iOS沙盒机制  iOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等。 每个应用程序都有自己的存储空间 应用程序不能翻过自己的围墙去访问别的存储空间的内容 打开模拟器沙盒目录 方法1、可以设置显示隐藏文件,然后在Finder下直接打开。设置查看隐藏文件的方法...[ 查看全文 ]
  • TAGLIB Struts对Taglib进行了扩展, Struts提供了四种基本自定义Taglib以及两种附加Taglib: bean:struts-bean taglib包含在访问bean和bean属性时使用的tag,也包含一些消息显示的tag。 Html:struts-html taglib包含用来创建struts输入表单的tag,和其它通常用来创建基于HTML用户界面的tag。 logic:struts-logic taglib包含的tag用来治理根据条件生成输出文...[ 查看全文 ]
  • 问:假如我的一个表里含有(a,b,c,d)和(a,b)形成组合键。我能在列值中写这个查询吗?例如: 代码如下: select a,c,d from mytable where (a,b) in ((1,2),(1,4),(1,5)) 答:可以。 如果你怀疑有些SQL架构是否有效,就通过Mimer Validator运行一下。在这种情况中,你的查询(你登录校验器中的查询)将得到如下结果: * 在SQL-92中, 无效 * 在SQL-99和SQL_2003中, 有效,并带有如下注释: F...[ 查看全文 ]
  • 标签:盘发教程
    1:将头发分成左右两个部分,让后在脑后扎出两个马尾辫。 2:将马尾辫分成两束头发,然后将两束头发交织在一起,直到发尾的时候用皮筋固定住。   3:将辫子拉松一些,制造出更多的体积感。 4:将右边的辫子由上向下缠绕在左边的辫子上,并用夹子固定住。     5:将左边的辫子往右拉。 ...[ 查看全文 ]
  • Struts 和 Tiles 辅助基于组件的开发(4) 2.在 EX2_INSTALL/src/web/tiles-layouts/rootLayout.jsp 中,找到清单 3 中显示的代码,然后编辑它以添加 br 标记和代码来插入 panel4 ,如清单 4 所示: 清单 3. 原始 rootLayout.jsp 代码 td width="35%" !-- ============================================================ -- !-- Begin panel1 -- tiles:insert a...[ 查看全文 ]
  • Struts 和 Tiles 辅助基于组件的开发(1) 将视图组合在一起以便于构造 Web 应用程序 “模型-视图-控制器(Model-View-Controller,MVC)”框架对于生成有组织的模块化应用程序(这些应用程序能够清楚地划分逻辑、样式和数据),是一种经证实的和方便的方法。在 Java 世界中,Struts 是最闻名的也是最常被谈及的 MVC 的开放源码体现之一。致力于 Struts 的开发人员最近增强了该项目的核心...[ 查看全文 ]
  • Struts 和 Tiles 辅助基于组件的开发(5) Struts 和 Tiles 更复杂的使用 篇幅所限,不答应我再深入讨论 Struts 和 Tiles 包其它一些实用的方面,但我真的想简要地谈一下,这样您可以对 Struts 和 Tiles 可以做些什么有所了解。假如有足够的需求,可能这些内容会是将来文章的主题。 您会在本文的两个示例中注重到,我编码了名、姓、喜欢的颜色和出生日期等基本验证。我所采用的这类简单验证...[ 查看全文 ]
  • 下图是Struts的工作流程,前边我们提到,所有的请求都提交给ActionServlet来处理。 点击查看大图 ActionServlet是一个FrontController,它是一个标准的Servlet,它将request转发给RequestProcessor来处理, ActionMapping是ActionConfig的子类,实质上是对struts-config.XML的一个映射,从中可以取得所有的配置信息 RequestProcessor根据提交过来的url,如*.do,从...[ 查看全文 ]
  • Struts2 Struts2是在WebWork2基础发展而来的。和struts1一样, Struts2也属于MVC框架。不过有一点大家需要注意的是:尽管Struts2和struts1在名字上的差别不是很大,但Struts2和struts1在代码编写风格上几乎是不一样的。那么既然有了struts1,为何还要推出struts2。主要是因为struts2有以下优点: 1  在软件设计上Struts2没有像struts1那样跟Servlet API和struts API有着紧密的耦...[ 查看全文 ]
  • 项目迭代开发手记--文件分割存储用例的实现过程(2)   在第二天早上的开发中我们扩展了第一天迭代开发的用例,我们考虑增加了压缩流的功能,减少数据的存储负担。迭代2:用例:对向数据库提交的二进制流进行压缩;那么从数据库提取的时候要进行解压操作,以获得原始图档数据。通过查询资料我们找到Delphi的ZLib库支持对字节流的压缩和解压缩功能,这样我们只要使用该类的TCompressionStream和TDeco...[ 查看全文 ]
  • 摘  要 本文详细描述了在尝试使用极限编程在软件开发中的一个实现例子,在小步迭代开发中逐步的实现用例需要的功能,同时每个迭代都能集成实现的功能。关键字 极限编程 在一次项目开发中我们开发组遇到了一个需求,该需求的要使用的技术是我们所不熟悉的,就是说在开发过程中我们必须逐步的掌握该项技术,同时希望能够尽可能的保持代码有好的结构,因为在不断增加功能的过程中,会让代码逐渐的变得...[ 查看全文 ]
  • 一、Action配置中的各项默认值 package name="csdn" namespace="/test" extends="struts-default"         action name="helloworld" class="cn.csdn.action.HelloWorldAction" method="execute"  result name="success"/WEB-INF/page/hello.jsp/result         /action   /package 1如果没有为action指定class,默认...[ 查看全文 ]
  • 标签:SQLServer
    一. 引言 如果你曾经使用SQL Server开发过任何软件,那么你肯定会习惯于使用四部分标识符来参考一个对象: [[[server.][database].][schema_name].]object_name 正如上面的方括号所显示的,该语法的不同部分可以被忽略,只要你提供足够的表达来无二义地标识你的对象即可。例如,下面所有这些表达都可能参考相同的对象: Server1.AdventureWorks.Production.ProductCategory AdventureWorks.Produ...[ 查看全文 ]
  • 标签:Java JAVA基础
    简介: 我看到很多项目中,开发者实现了自己的MVC框架,并不是因为他们想做同Struts根本不同的东西,而是因为他们并没有意识到如何扩展Struts。开发自己的MVC框架可以获得全部的控制权,但是这也意味着需要很多资源来实现它(人力物力),在紧张的日程安排下,有时候这是不可能的。 Struts不仅仅是一个强大的框架,同时它也是可扩展的。你可以以三种方式来扩展Struts。 1、P...[ 查看全文 ]
  • 标签:PHP
      环境:W2k+php4.3.1+php/gtk0.5.2 一个简单的记事本(只可以打开文件进行修改) <?php set_time_limit (0);       // 设置运行时间 if (!class_exists ("gtk"))           // 判断是否有GTK模块     if (strtoupper (substr ($_SERVER["OS"], 0, 3)) == "WIN")   &nb...[ 查看全文 ]
  • 标签:Web开发
    这篇文章主要针对有一定jsp编程经验的爱好者初学struts,如何配置struts过程的一个简单练习。 首先下载Struts软件包,到 http://struts.apache.org/下载Struts,Struts各版本的差异很大,这里已Struts1.2.9版本为例,解压缩包内容如下: 1、在tomcat安装目录下的webapps目录中建立一个jzxue目录。这样就可以通过访问"http://localhost:8080/jzxue"访问"jzxue"这个目录。 2、在你创建的...[ 查看全文 ]
手机页面 收藏网站 回到头部