Struts2表现层技术.ppt

上传人:小飞机 文档编号:6521453 上传时间:2023-11-08 格式:PPT 页数:54 大小:796.50KB
返回 下载 相关 举报
Struts2表现层技术.ppt_第1页
第1页 / 共54页
Struts2表现层技术.ppt_第2页
第2页 / 共54页
Struts2表现层技术.ppt_第3页
第3页 / 共54页
Struts2表现层技术.ppt_第4页
第4页 / 共54页
Struts2表现层技术.ppt_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《Struts2表现层技术.ppt》由会员分享,可在线阅读,更多相关《Struts2表现层技术.ppt(54页珍藏版)》请在三一办公上搜索。

1、企业级JAVA II,软件工程系:聂常红,内容回顾:,Struts2拦截器的拦截机理?Struts2拦截器的配置自定义Struts2拦截器,第4讲 Struts2的表现层技术,4.1 概述4.2 OGNL表达式语言4.3 Struts2标签类型4.4 Struts2表单及其元素标签4.5 Struts2数据标签4.6 Struts2逻辑标签4.7 非表单UI标签4.8 使用主题模板,4.1 概述,Struts2提供了一个标签库:struts-tags标签库,几乎所有struts2标签都整合到其中,在JSP中使用struts2标签时,需要使用以下代码引入标签库:,在struts-2.1版本以后的

2、ajax标签使用标签库:struts-dojo-tags,struts2标签库使用OGNL表达式作为基础,极大的提高了对集合、对象的访问能力struts2标签库支持模板和主题,极大的简化了视图页面的编写,4.2 OGNL表达式语言,OGNL是一种可以方便操作对象属性的开源表达式语言,是struts2的默认表达式语言。主要具有以下优点:可以方便地访问OGNL上下文和ActionContext可以方便地操作对象、数组及集合使用OGNL访问对象的属性的基本格式:propertyName#Object.propertyName,使用OGNL操作集合:创建集合:1)List集合:book1,book2,

3、book3 2)Map集合:#bookl:23,book2:36使用in、not in元素符判断某个元素是否在指定集合中:使用选择操作符获取集合的子集:1)?:获取所有符合条件的子集 2):获取符合条件的第一个子集 3)$:获取符合条件的最后一个子集 例如:person.relative.?#this.gender=“m”,使用OGNL访问对象和属性时经常需要使用#、%、$操作符,OGNL的“#”操作符的作用,1)访问OGNL上下文和Action上下文,此时“#”相当于ActionContext.getContext(),ActionContext是Struts2中OGNL的上下文环境。它维护

4、着一个Map的结构,如下图所示,Action上下文Map对象说明:,ValueStack:为OGNL 上下文的根对象,当前的Action实例总是放到ValueStack,不需要使用“#”操作符,可直接访问该对象,其余Map对象访问时必须使用“#”.parameters:包含当前HTTP请求参数的Map,#parameters.id相当于request.getParameter(id)request:包含当前HttpServletRequest的属性的Map,#request.name相当于request.getAttribute(“name),session:包含当前HttpSession的属

5、性的Map#session.name相当于session.getAttribute(“name”)application:包含当前应用的ServletContext的属性的Map,#application.name相当于application.getAttribute(“name”)attr:用于按pagerequest session application顺序访问其属性,#attr.name相当于按顺序在以上四个范围(scope)内读取name属性,直到找到为止,2)用于选择和投影集合,如:选择(子集):books.?#this.price100 投影:books.?#this.price

6、100.bookName3)用于构造Map,如:#bookl:23,book2:36,OGNL的“%”操作符的作用,在标签的属性为字符串类型时,可使用%和“”和“”计算OGNL表达式的值,如:label=“%username”、label=“%#session.username”,OGNL的“$”操作符的作用,“$”有两个主要的用途:用于在国际化资源文件中,引用动作属性及配置项中定义的属性值,如:$min、$max在Struts2配置文件中,引用动作属性值,如:admin.jsp?type=$type,UI标签:表单标签:主要用于生成HTML表单非表单标签:主要用于在页面中生成一些非表单的可视

7、化元素,如显示信息的标签:actionerror、actionmessage非UI标签:逻辑控制标签:主要用于条件、循环等流程控制,如if、elseif、iterator数据标签:主要用于数据存储和处理,如 property、bean、textAjax标签:主要用于支持Ajax,如显示日期的datetimepicker,4.4 struts2表单及其元素标签,表示什么意思?,表单标签:s:form常用属性:例如:,按钮标签:提交按钮:s:submit,用于提交表单数据重置按钮:s:reset,用于返回表单的默认值常用属性:例如:,输入框标签:文本框标记:s:textfield,用于输入单行文本

8、密码框标记:s:password,用于输入密码文本域标记:s:textarea,用于输入多行文本常用属性:例如:,选择框标签:单选框标签:s:radio,用于在一组选项中互斥选择,即同组中一次只能选择一项复选框集合标签:s:checkboxlist,设置同一组选项中可作多项选择的选择项,可一次设置多个复选框,常用属性:,例如:,列表框标签s:select:作用:用于创建列表框常用属性:,例如(下拉列表):,例如(列表):,s:label只读标签,用于输出指定属性的信息到浏览器常用属性:例如:,表单标签综合应用示列:创建一个动作类创建一个表单参数输入JSP页面,保存目录为WebRoot创建一个结

9、果显示JSP页面,保存目录为WebRoot编写配置文件,定义动作包和动作,创建动作FormTagsAction:,(接前):,2.创建表单参FormTagsInput.jsp:,3.表单结果显FormTagsResult.jsp:,4.编写配置文件,定义动作包和动作:,执行结果:,4.5 Struts2数据标签,常用struts2数据标签:s:actions:propertys:params:dates:texts:url,s:action用于在JSP页面直接调用一个Action常用属性如下:例如:,s:property用于输出指定属性的值到浏览器常用属性如下:例如:,s:param用于为其他

10、标签提供参数,经常与s:url等标签一起使用常用属性如下:例如:nch-,s:date用于格式化并输出一个日期常用属性如下:例如:(yyyy-MM-dd hh:mm:ss),s:text用于显示资源文件中的指定key的属性值常用属性如下:例如:,s:url用于生成一个URL地址,经常使用s:param标签来提供参数常用属性:例如:,链接标签应用示例:,InputTagsAction.action?username=NCH,ChooseTagsAction.action,SelectTagsAction.action,示例执行结果:,4.6 Struts2逻辑标签,常用struts2逻辑标签:s

11、:ifs:elseifs:elses:iterator,s:if用于进行条件判断,如果条件为真,则执行该标签体内的代码常用属性如下:例如:动作的booleanValue值true,s:else与s:if结合使用,如果s:if不满足条件,则执行s:else后面的语句例如:动作的booleanValue值true 动作的booleanValue值false,s:elseif与s:if结合使用,用于进行条件判断,如果条件为真,则执行该标签体内的代码常用属性:例如:执行elseif部分,s:iterator用于循环遍历集合或数组中的所有元素一般配合标识来输出所遍历到的元素常用属性:,逻辑标签综合应用示

12、列:,4.7 非表单UI标签,常用非表单UI标签:s:fielderrors:actionerrors:actionmessage,s:fielderror用于显示字段级别错误信息常用属性:例如:,s:actionerror用于输出动作类级别的错误信息例如:,4.8 使用主题模板,Struts2的UI标签都是基于主题和模板的,模板是一个UI标签的外在表现形式,一系列样式和视觉效果相似的模板就形成了一个主题,Struts2提供了以下三种主题:simplexhtmlcss_xhtmlStruts2的默认主题是xhtml,可通过theme属性修改该默认主题,如:,思考题,Struts2表现层使用了哪两项技术?在JSP页面中使用Struts2标签前应做什么工作使用OGNL表达式语言时可以用哪些符号运算符?访问MAP对象需要用哪种符号运算符?遍历并输出数组或列表元素需要使用哪些Struts2标签?进行条件判断可以使用哪些Struts2标签,如何判断条件是否满足?,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号