Cheug's Blog

当前位置:网站首页 / JAVA / 正文

Struts2[四]

2019-10-11 / JAVA / 68 次围观 / 0 次吐槽 /

contextMap的数据操作

1、存数据

Struts2[四] JAVA 第1张

ActionContext存数据

Struts2[四] JAVA 第2张

利用ValueStack数据

Struts2[四] JAVA 第3张

2取数据

Struts2的标签(OGNL表达式)在JSP上(用的最多)

使用s:property取数据

Struts2[四] JAVA 第4张

contextMap里面ValueStack中对象的属性:直接写属性名

Struts2[四] JAVA 第5张

如果遇有对象属性重名,可以通过OGNL表达式,选择查找的起始位置

Struts2[四] JAVA 第6张

在jsp页面取值时,可以通过索引获取

Struts2[四] JAVA 第7张

特殊说明:当s:property不给定value属性时,默认取栈顶对象。

Struts2[四] JAVA 第8张

3valueStack其它方法

asetValue方法

Struts2[四] JAVA 第9张

Struts2[四] JAVA 第10张

bset方法

掌握压栈的顺序问题

Struts2[四] JAVA 第11张

cfindValue方法

jsp页面上的调用的都是findValue方法

Struts2[四] JAVA 第12张

4 StrutsEL取值顺序的改变

默认情况下EL查找顺序

表达取值必须是servlet四大作用域 由小到大排列为

pageContextpage > request > session > servletContextapplication

StrutsEL表达式的查找顺序的改变

OGNL表达式:page –> request  -> valueStack(根中)-> contextMap  ->  session  ->  application 

Struts2[四] JAVA 第13张

Struts标签OGNL配合使用

1iterator标签

Struts2[四] JAVA 第14张

2OGNL投影

使用过滤条件投影

Struts2[四] JAVA 第15张

使用指定属性投影

Struts2[四] JAVA 第16张

3、回顾Struts2#,$,%符号的使用(重要)

3.1#

a、取contextMapkey时使用,例如<s:property value="#name" />

bOGNL中创建Map对象时使用,例如:<s:radio list="#{'male':'','female':''}" />

3.2$

a、在JSP中使用EL表达式时使用,例如${name}

b、在xml配置文件中,编写OGNL表达式时使用,例如文件下载时,文件名编码。

struts.xml——>${@java.net.URLEncoder.encode(filename)}

3.3%

struts2中,有些标签的value属性取值就是一个OGNL表达式,例如<s:property value="OGNL Expression" />

还有一部分标签,value属性的取值就是普通字 符串,例如<s:textfield value="username"/>,如果想把一个普通的字符串强制看成时OGNL,就需要使用%{}把字符串套起来。

例如<s:textfield value="%{username}"/>

当然在<s:property value="%{OGNL Expression}" />也可以使用,但不会这么用

Struts2[四] JAVA 第17张

4Struts其它标签

s:set标签

² value:存入map中的值,是一个OGNL表达式

² var:存在map中的key

² scope:存储的范围application session request pageaction

² 不写scope,默认是action,它是在contextMap中和request中各存一份

Struts2[四] JAVA 第18张

Struts2[四] JAVA 第19张

s:action标签

Struts2[四] JAVA 第20张

Struts2[四] JAVA 第21张

s:if标签,s:elseif标签 s:else标签

² 相当于jstl中的c:choose c:wher c:otherwise

Struts2[四] JAVA 第22张

s:urls:a标签

Struts2[四] JAVA 第23张

表单小案例

目标

² 掌握checkboxlist的使用

² 掌握模型驱的原理

² 掌握struts主题的设置

Struts2[四] JAVA 第24张

Struts2[四] JAVA 第25张

Struts2[四] JAVA 第26张

Struts2[四] JAVA 第27张

模型驱动原理

strutsModelDrivenInterceptor 拦截器来完成的了模型动的工作

这个可以从struts-defualt.xml到这个拦截器

ModelDrivenInterceptor.java码分析

Struts2[四] JAVA 第28张

内部模型数据栈了

Struts2[四] JAVA 第29张

struts2中默认主题

² 默认主题的名称是XHTML,都是在struts的默认属性文件中定义着:default.properties

Struts2[四] JAVA 第30张

² 更改默认的主题方式

² 一:在标签内加theme属性

Struts2[四] JAVA 第31张

² 二:配置全局的theme

Struts2[四] JAVA 第32张

额 本文暂时没人评论 来添加一个吧

发表评论

必填

选填

选填

必填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Cheug's Blog

Copyright Cheug Rights Reserved.