开发者社区> 化粪池堵塞的凶手> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
DataStructure
DataStructure
50 0
day26_Struts2学习笔记_03
一、国际化概念(了解) 1、什么是国际化    软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的、符合来访者阅读习惯的页面或数据。 2、什么需要国际化    程序:需要国际化。
1257 0
Datastructure
时间复杂度的计算 计算最坏情况下执行语句的次数(含有n) 去掉常数项, 只保留最高项, 去掉系数 最后的结果一般是1, logn, n, nlogn, n^2, 2^n, n!, n^n 时间复杂度所消耗的时间的顺序是: O(1) < O(logn) < O(n) < O(nlogn) < O(n...
846 0
struts2之OGNL和struts2标签库和ValueStack对象
OGNL简介:    (1)OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目。      struts2框架默认就支持Ognl表达式语言(所以struts必须引用的包:ognl.
1159 0
struts2 标签大全
1): ---- 文本输入框 使用: (2): ----- 文本域输入框 使用: (3): ----- 密码输入框 使用: 前三个基本都是一样的。
949 0
《从零开始学Swift》学习笔记(Day 2)——使用Web网站编写Swift代码
<div style="top: 0px;"></div> <span style="font-family:宋体;font-size:14px;"></span><p align="center" style="margin: 0cm 0cm 0pt;"><span style="font-size:14px;"><strong style="mso-bidi-font-weight:
2004 0
Struts1.x系列教程(6):Bean标签库
本文为原创,如需转载,请注明作者和出处,谢谢! Bean标签库共有11个标签。这些标签可以完成如下五种工作: 1.       获得HTTP请求信息 2.       访问Java对象 3.       访问JSP内嵌对象和Struts配置对象 4.       访问Web资源和属性文件 5.       输出信息 下面我们就来分别介绍一下如何使用Bean标签库中的标签来完成上述的工作。
799 0
+关注
化粪池堵塞的凶手
化粪池堵塞的凶手
45
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载