免费预览已结束,剩余38页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Struts教学,第三课,本课内容,StrutsFormStrutstagslibValidatorframwork,StrutsForm使用场景,当有如下情况时,使用Strutshtml:form等标签textfield名称和beanproperties保证同步保留textfield值能够被基于bean中值来预设置也就是,form元素的初始值能够根据从java对象进行设置Form在提交之后还能够被重新显示(其中包括不完整或不正确的数据)当form元素被重新显示的时候用户能够修改已经输入的数据,通常使用http直接提交后,在服务端程序中返回原页面时,数据不会被保留。,使用html:form流程,用户请求一个formform是通过html:form,html:text,以及类似元素创建使input的名称和bean属性名称相同使初始值来源于app中,不能从浏览器直接访问表单被提交到一个form的url,如:XXX.do地址在struts-config.xml中已经被映射到一个Actionobject此时将调用Action的execute方法方法的其中一个参数是自动创建formbean,其属性自动匹配请求参数Action调用业务逻辑、数据访问逻辑,并将结果存储到request,session,或applicationAction使用mapping.findForward返回条件(在struts-config.xml被映射到jsp页面)struts转发请求到对应的jsp页面页面中可以使用bean:write或者JSP2.0EL输出beanproperties页面中可以使用bean:message输出固定strings,预设表单,多数情况,需要根据系统定义的数据预设表单(如:时间、用户等)好处是:方便用户、修改更容易实现预设表单使用html:form作为主form使用html:form,指定action=“/XXX.do,不是action=/webAppPrefix/path/blah.do,和http直接提交不同,POST是默认method,http默认method是get使用html:text取代格式每个域对应一个bean属性每个域的值将来源于bean属性使用html:xxxx取代其他input元素使用html:button,html:checkbox,html:textarea,etc.,定义submitbuttons,checkboxes,textareas,etc.,举例,Firstname:Lastname:Emailaddress:Faxnumber:,一般注意事项,Struts的html:form比html的标签严格的多。比如没有问题但是就会有错路径问题不同http:/localhost:8080/web-app/file.do在一个子站点中,html提交时的路径/web-app/file.do或者file.doStruts的html:form中表示方法Struts的html:form以及子元素中有些属性是必须的比如html:form的action标签库一定要在jsp页面中引用,请求表单演示,Struts-lib-form/register1.do,Resultform演示,成功输入所有用户输入域的register2.do,Struts标记库,struts提供了一组可扩展的自定义标签库(TagLib),可以简化创建用户界面的过程。目前包括:BeanTags,HTMLTags,LogicTags,TemplateTags,NestedTags等几个Taglib。Struts框架包括这些自定义标签库,它可以用在很多方面。尽管这些库并不要求用框架,但使用它们会有助于程序的开发。,Struts标记库,struts-beantaglib:包含在访问bean和bean属性时使用的tag,也包含一些消息显示的tag。struts-htmltaglib:包含用来生成动态HTML用户界面和窗体的tag。struts-logictaglib:包含的tag用来管理根据条件生成输出文本,和其它一些用来控制的信息。struts-templatetaglib包含的tag用来定义模板机制。,标签库的安装,复制Tld文件到/webapps/webappname/WEB-INF/目录.确保struts.jar文件在/webapps/webappname/WEB-INF/lib目录下将标签子元素添加到web.xml中/WEB-INF/struts-bean.tld/WEB-INF/struts-bean.tld在jsp页面添加类似如下文件头:,BeanTaglib,用于定义新bean、访问bean及其属性的标记在struts-bean.tld中定义了它的标记库描述器BeanTaglib主要功能创建和复制bean的标记脚本变量定义标记bean翻译标记消息国际化标记,一些常用bean标签1,用于显示httpcookie用于显示一个以命名bean的属性,并将之定义为变量Welcome:用来访问Web应用的资源,一些常用bean标签2,显示前面定义变量的值,如:用来打印命名bean的属性,逻辑标记库的功能,条件逻辑重复转发/重定向响应,逻辑标记,Struts逻辑标签库包含的标记能够有条件地产生输出文本(相当于ifelse)在对象集合中循环从而重复地产生输出文本,以及应用程序流程控制(相当于for)它也提供了一组在JSP页中处理流程控制的标记(如:)逻辑标记封装在文件名为struts-logic.tld的标记包中,条件逻辑标记,第一类可以比较下列实体与一个常数的大小第二类在计算标记体之前判断特定的项目是否存在第三类根据模板匹配的结果检查标记体的内容,第一类条件逻辑标记,如果常数与被定义的实体相等,返回true如果常数与被定义的实体不相等,返回true如果常数大于等于被定义的实体,返回true,第一类条件逻辑标记,如果常数小于等于被定义的实体,返回true如果常数小于被定义的实体,返回true如果常数大于被定义的实体,返回true,举例,判断名为name的请求参数的值是否是SomeName。TheenterednameisSomeName,举例,判断在页的作用域中是否有一个名为bean的bean,它有一个prop属性,这个属性的值是否大于7。如果这个属性能够转化为数值,就进行数值比较,否则就进行字符串比较。Thevalueofbean.Propisgreaterthan7,第二类条件逻辑标记,第三类条件逻辑标记,举例ThestringBoboccursinthesentence.变量sentence如果包含Bob的话返回true,重复标记,它能够根据特定集合中元素的数目对标记体的内容进行重复的检查集合的类型java.util.Iteratorjava.util.Collectionjava.util.Mapjava.util.List数组,举例,strlst是一个包含字符串的List,现在要将他内部的字符串全都显示在浏览器里,转发标记,标记能够将响应转发给重定向到特定的全局ActionForward上如:相当于使用HttpServletResponse.sendRedirect(),重定向标记,标记是一个能够执行HTTP重定向的强大工具。根据指定的不同属性,它能够通过不同的方式实现重定向。它还允许开发人员指定重定向URL的查询参数。,HTML标记,StrutsHTML标记可以大致地分为以下几个功能:显示表单元素和输入控件显示错误信息显示其他HTML元素,HTML标记包括,.,举例,相当于:,模板标记,Struts模板标记可以大致地分为以下几个功能:插入标记放置标记获得标记,举例1,chapterTemplate.jsp,举例2,练习1,1.注册用户,表单默认用户名“Tomcat”,密码默认“Tomcat5”。2.如果注册成功,返回结果使用form和bean重新显示3.要求:email和密码不能为空,email带有,用户名不能为空,ValidatorFramework,表单校验的三种方式配置ValidatorFrameworkJSP中使用验证,表单校验的三种方式,JavaScript页面处校验StrutsActionFormServer端校验需要在不同的Form中加入验证逻辑代码(大量重复)维护困难(需更改代码)StrutsValidatorframework页面处校验和Server端校验通过配置文件完成,无需更改代码复用验证逻辑,Validator的组成,基本validatorsResourcebundleXML配置文件JsptagValidatorFormValidatorActionForm可安装的validators,基本Validator1,Struts自带了14中基本校验,基本Validator2,Therequiredvalidator表示不能为空,表示如果不填或者只填写空格的则校验失败,如:Themaskvalidator是否匹配正则表达式,如果在多处都需要用到的相同正则表达式,可以定义成常量zipd5d*$Therangevalidator校验是否在指定范围之内如:min1max4,基本Validator3,ThemaxLengthvalidator校验不能长于TheminLengthvalidator校验不能短于Thebyte,short,integer,long,float,anddoublevalidators基本类型校验Thedatev
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023年马鞍山辅警协警招聘考试真题含答案详解(达标题)
- 2024年乌兰察布辅警招聘考试题库及参考答案详解
- 2023年西宁辅警招聘考试题库及完整答案详解
- 唐徕回民中学2025年高一生物第一学期期末检测模拟试题含解析
- 2026届江苏省南通市通州区、海安县化学高二第一学期期末检测试题含解析
- 辽宁省瓦房店市2026届高二上化学期末综合测试试题含解析
- 广东省茂名市五校联考2025年高一生物第一学期期末质量跟踪监视试题含解析
- 2025年安徽省合肥一中八中、六中生物高一第一学期期末质量跟踪监视模拟试题含解析
- 2024年十堰辅警协警招聘考试备考题库附答案详解(满分必刷)
- 上海城建职业学院《病原生物学与免疫学基础》2024-2025学年第一学期期末试卷
- 2025中国电气装备许继集团许继电气校园招聘笔试历年参考题库附带答案详解
- 高中语文高考语文复习+高考中的成语考查+课件
- 2025甘肃庆阳正宁县公安局招聘警务辅助人员40人备考考试题库附答案解析
- 七年级历史上学期期末选择题100题-附答案解答
- 2025广西玉林市自来水有限公司下半年公开招聘21人笔试参考题库附带答案详解
- 低温天气安全教育培训课件
- 整车线束培训资料
- 4.1 10的认识(课件 )数学苏教版一年级上册(新教材)
- 2026年度安全生产工作计划
- 2025山东泰山财产保险股份有限公司总公司及分支机构校园招聘、社会招聘笔试模拟试题及答案解析
- 剪纸社团教学课件
评论
0/150
提交评论