day02:structs2标签库

简介: day02:structs2标签库

image.png

表单标签

<s:form action=“login” method=“post”></<s:form>

(对应着:)

<s:textfield name=“userName” label=“用户名”/>

(对应着:用户名:)

<s:password name=“password” label=“密码”/>

(对应着:密码:)

控制标签

用来完成流程的控制,如条件分支、循环操作,也可以实现对集合的排序和合并。

<s:if>标签、<s:elseif>标签和<s:else>标签

<s:if test="%{value==-1}">

(对应着:if、elseif、else语句)

image.png

<s:iterator>标签

iterator标签主要是对集合进行迭代操作,集合可以使List、Map、Set和数组。

var:指定集合元素的ID。

value:指定迭代输出的集合,该集合可以是OGNL表达式,也可以通过Action返回一个集合类型。

status:指定集合中元素的status属性。指定status属性后,每次迭代都会产生一个IteratorStatus实例对象。

int getCount():返回当前迭代元素的个数。

int getIndex():返回当前迭代元素的索引值。

boolean isEven():返回当前迭代元素的索引值是否为偶数。

boolean isOdd():返回当前迭代元素的索引值是否为奇数。

boolean isFirst():返回当前迭代元素的是否是第一个元素。

boolean isLast():返回当前迭代元素的是否是最后一个元素。

使用iterator标签的属性status时,其实例对象包含以上的方法,

而且也包含的有对应的属性,如#status.count、#status.even、#status.odd、#status.first等。

OGNL表达式

三个参数:表达式、根对象和上下文环境。

表达式:指出OGNL操作要做的工作,例如,name、student.name等表达式,表示取name或者student中的name的值。

根对象:指定OGNL要操作的对象,例如,<s:property value="#request.name"/>中,request就是对象,这个对象取出name属性的值。

上下文环境:是OGNL要操作的地点

如果使用OGNL需要访问的不是根对象,则需要使用名称空间,用“#”来表示

如果访问的是一个根元素,则不用使用名称空间,可以直接访问根对象的属性。

根元素是放入ValueStack的Action对象,Struts2框架将实例化的Action对象放入ValueStack中

struts2框架还将parameters,request,response,session,application,attr等对象放到 ActionContext中,访问这些对象需要加前缀#

一个OGNL表达式若没有指定目标对象,默认就是从根对象开始查找

输出属性标签

1.显示Action中的属性值:<s:property value=“属性名” />

2.显示字符串,使用单引号:<s:property value="‘字符串’" />

3.显示默认值,Action中找不到指定的属性时,显示default属性的值:<s:property value=“属性名” default=“默认值” />

示例:

M

书类目录类

image.png

image.png

V

catalog.jsp

image.png

C

Action对象

image.png

struts.xml配置action

image.png

执行过程:

1.启动tomcat,地址栏输入url http://localhost:8080/struts1/catalogList,发起请求

2.根据struts.xml,调用BookAction类的showCatalog方法,处理

3.处理完,根据return,交给catalog.jsp响应

image.png

ActionSupport

再进行action定义时我们可以继承ActionSupport来简化开发,并规范代码

image.png

image.png


相关文章
|
存储 Java 容器
JSP第五篇【JSTL的介绍、core标签库、fn方法库、fmt标签库】(三)
JSTL作为最基本的标签库,提供了一系列的JSP标签,实现了基本的功能:集合的遍历、数据的输出、字符串的处理、数据的格式化等等!
136 0
JSP第五篇【JSTL的介绍、core标签库、fn方法库、fmt标签库】(三)
|
XML Java 数据格式
JSP第五篇【JSTL的介绍、core标签库、fn方法库、fmt标签库】(一)
JSTL作为最基本的标签库,提供了一系列的JSP标签,实现了基本的功能:集合的遍历、数据的输出、字符串的处理、数据的格式化等等!
151 0
JSP第五篇【JSTL的介绍、core标签库、fn方法库、fmt标签库】(一)
|
Java
JSP第五篇【JSTL的介绍、core标签库、fn方法库、fmt标签库】(四)
JSTL作为最基本的标签库,提供了一系列的JSP标签,实现了基本的功能:集合的遍历、数据的输出、字符串的处理、数据的格式化等等!
165 0
JSP第五篇【JSTL的介绍、core标签库、fn方法库、fmt标签库】(四)
|
Java
JSP第五篇【JSTL的介绍、core标签库、fn方法库、fmt标签库】(二)
JSTL作为最基本的标签库,提供了一系列的JSP标签,实现了基本的功能:集合的遍历、数据的输出、字符串的处理、数据的格式化等等!
96 0
JSP第五篇【JSTL的介绍、core标签库、fn方法库、fmt标签库】(二)
|
Java
JSP第五篇【JSTL的介绍、core标签库、fn方法库、fmt标签库】
什么是JSTL JSTL全称为 JSP Standard Tag Library 即JSP标准标签库。 JSTL作为最基本的标签库,提供了一系列的JSP标签,实现了基本的功能:集合的遍历、数据的输出、字符串的处理、数据的格式化等等! 为什么要使用JSTL EL表达式不够完美,需要JSTL的支持!在JSP中,我们前面已经用到了EL表达式,体会到了EL表达式的强大功能:使用EL表达式可以很方便地引用一些JavaBean以及其属性,不会抛出NullPointerException之类的错误!但是,EL表达式非常有限,它不能遍历集合,做逻辑的控制。
1406 0
|
JavaScript 前端开发 Java