- 浏览: 18519 次
最新评论
表单校验:请求参数->ActionForm->ActionForm.validate->表单校验错误返回errors->reguser.jsp->显示错误信息。
业务逻辑校验:请求参数->ActionForm->ActionForm.validate->表单校验成功则调用Action.execute方法->逻辑校验错误->产生errors->返回reguser.jsp显示错误信息。
public class RegUser extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
UserForm userForm = (UserForm)form;
ActionMessages errors = new ActionMessages();
if(userForm.getUser().getUsername().trim().equals("wxx")) {
errors.add("username", new ActionMessage("error.username.wrong"));
/* request.setAttribute(Globals.ERROR_KEY, errors);
return mapping.findForward("failure"); */
saveErrors(request, errors);
return mapping.getInputForward();
}
return mapping.findForward("success");
}
}
<action input="/WEB-INF/user/regUser.jsp" name="userForm" path="/RegUser" type="cn.user.strutsdemo.actions.RegUser">
<forward name="success" path="/WEB-INF/user/main.jsp"></forward>
</action>
Action提供两个方法来保存消息:saveErrors,saveMessage,前者:jsp画面<html:errors>可以取到错误消息,后者<html:messages>取到的是非错误消息,相当于一个是好人一个是坏人。
业务逻辑校验:请求参数->ActionForm->ActionForm.validate->表单校验成功则调用Action.execute方法->逻辑校验错误->产生errors->返回reguser.jsp显示错误信息。
public class RegUser extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
UserForm userForm = (UserForm)form;
ActionMessages errors = new ActionMessages();
if(userForm.getUser().getUsername().trim().equals("wxx")) {
errors.add("username", new ActionMessage("error.username.wrong"));
/* request.setAttribute(Globals.ERROR_KEY, errors);
return mapping.findForward("failure"); */
saveErrors(request, errors);
return mapping.getInputForward();
}
return mapping.findForward("success");
}
}
<action input="/WEB-INF/user/regUser.jsp" name="userForm" path="/RegUser" type="cn.user.strutsdemo.actions.RegUser">
<forward name="success" path="/WEB-INF/user/main.jsp"></forward>
</action>
Action提供两个方法来保存消息:saveErrors,saveMessage,前者:jsp画面<html:errors>可以取到错误消息,后者<html:messages>取到的是非错误消息,相当于一个是好人一个是坏人。
发表评论
-
<html:link> <html:rewrite>区别
2011-11-20 22:13 881<html:link> 生成的是一个超链接: &l ... -
<htmk:link>的使用
2011-11-20 21:56 737<html:link action="/Reg ... -
struts中的整数转换器问题
2011-10-12 23:13 0画面入力项显示的是"",点击提交按钮后也显 ... -
防止表单重复提交的原理与struts的实现
2011-10-10 06:59 594第一个action: public class RegUser ... -
<html:checkbox>标签使用时要重写reset方法
2011-10-09 22:24 1084<html:checkbox property=&quo ... -
errors参数国际化
2011-10-09 07:21 519prompt.name=(en)username error. ... -
html_errors标签单独显示各个错误消息
2011-10-08 22:00 1205public class UserForm extends A ... -
html_errors标签引入国际化资源包
2011-10-07 21:20 915public class UserForm extends A ... -
FormBean使用值对象类型的属性
2011-10-06 20:54 877public class UserForm extends A ... -
<logic:forward>与<logic:redirect>区别
2011-09-29 23:11 15171 .<logic:forward>属于程序内部访 ... -
<htmk:forward>对应在struts-config.xml中应配置全局的forward
2011-09-29 22:34 713当你想访问http://localhost:9999/stru ... -
<htmk:link>自动生成sessionId,支持url重写
2011-09-29 07:11 712当客户端向服务器发送一请求时,服务器不知道客户端是否支持coo ... -
防止struts-config.xml文件膨胀_OtherActionForm.java
2011-09-29 22:34 559public class OtherActionForm ex ... -
防止struts-config.xml文件膨胀_LoginOtherAction.java
2011-09-27 22:13 611public class LoginOtherAction e ... -
防止struts-config.xml文件膨胀_hello.jsp
2011-09-27 22:12 628<%@ page contentType="t ... -
防止struts-config.xml文件膨胀_struts-config.xml
2011-09-27 22:10 448<?xml version="1.0" ...
相关推荐
formsy-react - 一个React JS表单输入的校验器和验证器
它将常见的校验(目前支持13种)封装起来,并创造性的采用xml来存贮表单验证信息,使得表单的验证成为整个项目中最不重要的环节,开发者只需要定义几个xml标记,就可以创建出复杂的验证策略,而不用编写一行...
你只关心业务逻辑,而无需关心实现过程,只需简单的配置,无需写代码就能实现表单的检验。 jQuery formValidator表单校验插件 4.1.0 升级内容: 新增以下功能: 1、新增换肤功能,包括提示层的样式、输入控件...
简单的实现注册和登录功能,含验证码生成和校验,含表单的校验,代码简单,逻辑清晰,适合新手
每次开发一个表单页的时候,都需要重复编写表单组件及其交互事件的代码,这块代码重复编写且与主线业务逻辑无关,除此之外,表单的校验、缓存等额外功能,也需要不少的代码量,这样就造成了一个表单页的代码量庞大
CCMS是一套完善、通用的可配置化的方案。通过配置化自动生成中后台(CMS)界面。...通过JSON数据格式描述各API请求的接口信息、入参、出参及各种常见校验和简单逻辑,动态渲染前端页面。实现零开发搭建内容管理系统。
你只关心业务逻辑,而无需关系实现过程,只需简单的配置,无需写代码就能实现表单的检验。它包括常规检验功能和可扩展校验功能。针对每个表单元素你只需要写一行配置信息就能完成校验。而这些配置信息无需写入表单...
支持前端校验和数据库校验,支持默认常用的规则(如数字、email、ip、手机号),支持自定义正则,支持校验框样式自定义 使用了作为下拉框实现 使用了作为日期时间的实现 使用了作为富文本框的实现 针对传统HTML中单...
在一个稍微复杂一点的应用中,我们除了用表单元素收集数据,还需要验证,几个数据之间可能还会相互关联,然后根据不同的数据值调用不同的业务逻辑等。 使用Angular提供的数据绑定的功能,我们可以很容易就在组件中...
此外,它也没有说明如何分离业务逻辑的验证代码(如MVC模式)的方式。 快速开始 使用QtFormValidator的最简单方法是将其作为git子模块添加到您的项目中。 要添加库,请执行以下步骤: 创建一个新的subdirs项目。 ...
Winterfell在React中生成复杂、验证的和可扩展基于的JSON表单
以下功能都是基于默认表单配置实现,请在在Portal/admin中查看【表单和控件->表单设计流程->默认表单】,点击每个控件,观察每个控件设置的属性值 1. 开窗查询: 字段【编码】 说明:SchemaCode的值来源于“主数据...
技术点二:UI快速开发库,针对WEB UI进行标准封装,页面统一采用UI标签实现功能:数据datagrid,表单校验,Popup,Tab等,实现JSP页面零JS,开发维护非常高效 技术点三:在线流程定义,采用开源Activiti流程引擎,实现...
form 表单元素大家可能都用到过,除了可以提交表单外,还有一些内置的表单校验,比如 require 、 minlength 、 maxlength ,还有各种类型的 input ,比如 type=email 可以校验是否是邮箱类型,如果不满足还可以使用 ...
2.js逻辑控制:在需要校验的表单元素上绑定事件,如点击、获取焦点、失去焦点等事件,并设置这些事件对应的执行函数; 3.css样式设置:针对需要校验的表单元素,需要设置默认的初始样式,以及触发元素绑定事件后的...
• 页面校验器:采用EasyUI检验机制,表单校验生成器也自动生成 • 封装完善的基础用户权限(用户\角色\权限\菜单,权限可控制到按钮) • 报表整合:Excel简易导出工具+Highcharts图形报表 • 工作流设计器让业务系统...
由于我们编写的用于管理Ruby中数据完整性的任何代码都必须在JavaScript中尽可能接近地复制,因此最终会产生一些非常不令人满意的应用程序逻辑重复。 在许多情况下,将验证信息从我们的模型安全地公开给客户端会更...
及页面操作权限验证是B/S系统的基础功能,一个功能复杂的业务应用系统,通过角色授权来控制用户访问,本文通过Form认证,Mvc的Controller基类及Action的权限验证来实现Web系统登录,Mvc前端权限校验以及WebApi服务端...
表单的数据填充、数据打包提交、数据校验和格式化5.页面初始化逻辑采用传统的命令式编程范式来处理这些问题时,开发人员不得不反复地通过编写代码调用相关API来完成这些常规任务。事实上,开发人员的主要精力应该...