导航:首页 > 编程语言 > 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表单验证相关的资料

热点内容
花园战争2豪华升级包 浏览:517
电脑无法向u盘传输文件 浏览:823
bpn配置文件 浏览:932
501完美越狱工具 浏览:119
中间夹菜单里面不能显示压缩文件 浏览:952
如何指导小学生参加编程比赛 浏览:275
物业的招标文件有哪些 浏览:452
保存游戏文件名非法或只读 浏览:258
js怎么做图片时钟 浏览:451
华为应用里面有了app说明什么 浏览:801
数据库中xy是什么意思 浏览:893
u盘打不开提示找不到应用程序 浏览:609
网站功能介绍怎么写 浏览:954
word在试图打开文件时错误 浏览:108
主板无vga插槽怎么连接编程器 浏览:521
录视频文件在哪里删除 浏览:881
word2013如何插入文件 浏览:233
proe教程百度网盘 浏览:197
如何控制远程linux服务器 浏览:740
it教学app有哪些 浏览:34

友情链接