导航:首页 > 编程语言 > strutsjsp表单验证

strutsjsp表单验证

发布时间:2023-02-24 17:14:00

『壹』 struts工作原理与工作流程有什么区别

工作原理
在Struts2框架中的处理大概分为以下几个步骤
1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求
2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin)
3 接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action
4 如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy
5 ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类
6 ActionProxy创建一个ActionInvocation的实例。
7 ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。
8 一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可 能是另外的一个Action链)一个需要被表示的jsP或者FreeMarker的模版。在表示的过程中可以使用Struts2 框架中继承的标签。在这个过程中需要涉及到ActionMapper

工作流程
1、客户端浏览器发出HTTP请求.
2、根据web.xml配置,该请求被FilterDispatcher接收
3、根据struts.xml配置,找到需要调用的Action类和方法, 并通过IoC方式,将值注入给Aciton
4、Action调用业务逻辑组件处理业务逻辑,这一步包含表单验证。
5、Action执行完毕,根据struts.xml中的配置找到对应的返回结果result,并跳转到相应页面
6、返回HTTP响应到客户端浏览器

『贰』 struts2的action怎么获取jsp页面的表单值

举个例子你就好明白了。x0dx0a例如,首先,你写了一个ExampleBean里面有属性userName和password都是String类型,然后别忘了写他们的setter和getter方法,publicvoidsetUserName(StringuserName)等等。x0dx0a然后,写Action,在Action类中加入成员变量privateStringuName;privateStringuPwd;x0dx0a一定要再写上他们的Setter和Getter方法。publicvoidsetUName(Strings)等等。x0dx0a然后你在execute方法中创建一个bean对象。如:x0dx0aExampleBeanb=newExampleBean(this.getUName(),this.getUPwd());x0dx0a就可以创建这个bean对象了。x0dx0ax0dx0a具体传值流程是:首先你访问jsp页面,然后比如jsp页面上有一个登录框,你可以输入用户密码。x0dx0ax0dx0ax0dx0ax0dx0ax0dx0ax0dx0a这里注意的是标签中name属性对应的就是Action里面的值.name叫uName,提交表单后在Action里就会自动调用setUName("你输入的值");然后就执行execute方法,你就可以创建bean了。x0dx0a明白过程了吗?如果不会还可以追问。

『叁』 Struts2中使用重定向防止表单重复提交后怎们在表单中保留已填的信息和表单验证后的错误信息

使用struts2标签就可以了。例如:
JSP页面
<form action="url">
<s:textfield name="userName"/>
<input type="submit">
</form>
然后后台Action需要:
private String userName;
//生成setter和getter

这样如无意外就OK了 你可以测试跳到其它页面或返回原页面 。

记得导入标签信息<%@taglib prefix="s" uri="/struts-tags" %>

『肆』 JSP身份证号码的正则表达式验证

这个简单,在jsp页面上写个脚本,首先第一步(你的字符串这里设为str):
用str.length来做参数判断是否为18位
2.截取字符串前十七个,用正则判断
3.最后一个再用正则判断
正则的脚本如下:(首先申明,未经测试)
function isNumber(str){
var rege=/[\d]/g;
var a=str.match(rege);
if(a==null)
alert('必须是数字');
}
function isNumberOrAlpha(str){
var rege=/[\da-zA-Z]/g;
var a=str.match(rege);
if(a==null)
alert('必须是数字或字母');
}
对于正则表达式,你可以在csdn网上找一本《精通正则表达式看》

『伍』 JSP Struts2如何邮箱验证

直接通过正则表达式验证即可:
<script language=javascript>
<!--
function checkform() {
if(addform.yx.value != '') {
if(!Isyx(addform.yx.value)){
alert("请输入正确的邮箱地址!")
addform.yx.focus();
return false;
}
}
}
function Isyx(yx){
var reyx= /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;
return(reyx.test(yx));
}
//-->
</script>

阅读全文

与strutsjsp表单验证相关的资料

热点内容
jsonformat注解用法 浏览:697
设置ipad需要选择备份文件路径 浏览:309
电脑文件怎么保存到桌面不卡 浏览:810
java获得本机外网的ip地址 浏览:391
微信小程序ios能过么 浏览:208
苹果app后台耗电太大怎么关闭 浏览:178
怎么查看zabbix版本号 浏览:327
手机app整合文件名 浏览:492
压缩包保存文件找不到临时文件 浏览:958
iphone4来电mv素材 浏览:684
数据库怎么查速度 浏览:89
项目数据分析师证在哪里查询 浏览:725
淘宝怎么免费升级专业版 浏览:771
淘特app买手机壳如何微信支付 浏览:59
windows迁移到mac的文件找不到了 浏览:674
最近比较火的网络游戏有哪些 浏览:377
linuxoracle日志 浏览:54
计算机网络课程作用 浏览:902
win10下ftp服务器搭建 浏览:150
oppo原配数据线多少钱 浏览:835

友情链接