forEach>标记
语法:
forEachitems=”collection”[var=”varName”][varStatus=”varStatusName”][begin=”begin”][end=”end”][step=”step”]>
Body内容
foeEach>
名字类型描述
varString迭代的参数,它是标签参数,在其他标签中通过它来引用这个标签中的内容。
ItemsCollection、ArrayList、要迭代的items集合.Iterator、Map、String、Eunmeration等
VarStatusString表示迭代的状态,可以访问迭代自身的信息
Beginint表示开始迭代的位置,默认从0开始。
Endint表示结束迭代的位置,默认到结尾结束。
Stepint表示迭代移动的步长,默认为1。
注:
通常情况下,我们还会用到VarStatus的一些属性,如下:
current当前这次迭代的(集合中的)项
index当前这次迭代从0开始的迭代索引
count当前这次迭代从1开始的迭代计数
first用来表明当前这轮迭代是否为第一次迭代的标志
last用来表明当前这轮迭代是否为最后一次迭代的标志
begin属性值
end属性值
step属性值
例:
<%
Mapnames=newHashMap();
names.put("one","小张");
names.put("two","小王");
names.put("three","小李");
names.put("four","小姐");
pageContext.setAttribute("names",names);
%>
forEachitems="${names}"var="name"begin="1"end="3"step="1"varStatus="i">
${i.index},${i.count},${i.first},${i.last},${name.key},${name.value}
forEach>
(7)、import>标记
importurl=”url”[context=”context”]varReader=”varReaderName”[charEncoding=”charEncoding”]>
param>
import>
importurl=”url”[context=”context”]varReader=”varReaderName”[charEncoding=”charEncoding”]>
内容
import>
名字类型描述
urlString待导入资源的URL,可以是相对路径和绝对路径,并且可以导入其他主机资源
contextString当使用相对路径访问外部context资源时,context指定了这个资源的名字。
varString参数的名字。
scopeStringvar参数的作用范围。
charEncodingString输入资源的字符编码。
varReaderString这个参数的类型是Reader,用于读取资源。
注:
import>标签允许包含另一个JSP页面到本页面来,类似于jsp:
include,c:
import使用各种参数以便可在Web站点灵活移动内容
(8)、url>标记
语法1:
无参数
urlvalue=”value”[context=”context”][var=”varName”][scope=”{page|request|session+application}”]/>
语法2:
有参数
urlvalue=”value”[context=”context”][var=”varName”][scope=”{page|request|session+application}”]>
paramname=”name”value=”value”/>
paramname=”name”value=”value”/>。
。
。
。
。
。
。
。
url>
例:
urlvar=”website”value=>
paramname=”username”value=”landodo”>
url>
联接到
取得的联接并把它赋给website变量中,并通过?
username=landodo传递参数值。
地址:
?
usrname=landodo
(9)、redirct>标记
语法1:
没有参十月.
redirecturl=”value”[context=”context”]/>
语法2:
有参数
redirecturl=”value”[context=”context”]>
paramname=”name”value=”value”/>
redirect>
二、function标签
(1)、.长度函数fn:
length函数
${fn:
length(sessionScope.arrayList1)}:
返回arrayList1的长度
(2)、判断函数fn:
contains函数
判断源字符串是否包含子字符串
如:
${fn:
contains("ABC","a")}返回false
(3)、fn:
containsIgnoreCase函数
fn:
containsIgnoreCase函数与fn:
contains函数的功能差不多,唯一的区别是fn:
containsIgnoreCase函数对于子字符串的包含比较将忽略大小写。
如:
${fn:
contains("ABC","a")}返回true
(4)、词头判断函数fn:
startsWith函数
判断源字符串是否符合一连串的特定词头。
如:
${fn:
startsWith("ABC","ab")}
${fn:
startsWith("ABC","AB")}
前者返回“false”,后者返回“true”。
(5)、词尾判断函数fn:
endsWith函数
判断源字符串是否符合一连串的特定词尾。
如:
${fn:
endsWith("ABC","bc")}
${fn:
endsWith("ABC","BC")}
前者返回“false”,后者返回“true”。
(6)、字符实体转换函数fn:
escapeXml函数
将所有特殊字符转化为字符实体码。
(7)、字符匹配函数fn:
indexOf函数
取得子字符串与源字符串匹配的开始位置,若子字符串与源字符串中的内容没有匹配成功将返回“-1”。
${fn:
indexOf("ABCD","aBC")}
${fn:
indexOf("ABCD","BC")}
前者由于没有匹配成功,所以返回-1,后者匹配成功将返回位置的下标,为1。
(8)、分隔符函数fn:
join函数
为一个字符串数组中的每一个字符串加上分隔符,并连接起来
参数、返回结果和描述如表
参数
描述
array
字符串数组。
其类型必须为String[]类型
separator
分隔符。
其类型必须为String类型
返回结果
返回一个String类型的值
<%String[]stringArray={"a","b","c"};%>
<%request.getSession().setAttribute("stringArray",stringArray);%>
${fn:
join(sessionScope.stringArray,";")}
定义数组并放置到Session中,然后通过Session得到该字符串数组,使用fn:
join函数并传入分隔符“;”,得到的结果为“a;b;c”。
(9)、替换函数fn:
replace函数
为源字符串做替换的工作。
它的参数、返回结果和描述如表
参数
描述
inputString
源字符串。
其类型必须为String类型
beforeSubstring
指定被替换字符串。
其类型必须为String类型
afterSubstring
指定替换字符串。
其类型必须为String类型
返回结果
返回一个String类型的值
${fn:
replace("ABC","A","B")}
将“ABC”字符串替换为“BBC”,在“ABC”字符串中用“B”替换了“A”。
(10)、分隔符转换数组函数fn:
split函数
将一组由分隔符分隔的字符串转换成字符串数组。
它的参数、返回结果和描述如表
参数
描述
string
源字符串。
其类型必须为String类型
delimiters
指定分隔符。
其类型必须为String类型
返回结果
返回一个String[]类型的值
${fn:
split("A,B,C",",")}
将“A,B,C”字符串转换为数组{A,B,C}。
(11)、字符串截取函数fn:
substring函数
截取字符串。
它的参数、返回结果和描述如表
参数
描述
string
源字符串。
其类型必须为String类型
beginIndex
指定起始下标(值从0开始)。
其类型必须为int类型
endIndex
指定结束下标(值从0开始)。
其类型必须为int类型
返回结果
返回一个String类型的值
${fn:
substring("ABC","1","2")}
截取结果为“B”。
(12)、起始到定位截取字符串函数fn:
substringBefore函数
截取源字符从开始到某个字符串。
${fn:
substringBefore("ABCD","BC")}
截取的结果为“A”。
(13)、小写转换函数fn:
toLowerCase函数
将源字符串中的字符全部转换成小写字符
${fn:
toLowerCase("ABCD")}
转换的结果为“abcd”。
(14)、大写转换函数fn:
toUpperCase函数
将源字符串中的字符全部转换成大写字符。
${fn:
toUpperCase("abcd")}
转换的结果为“ABCD”。
(15)、空格删除函数fn:
trim函数
删除源字符串中结尾部分的“空格”以产生一个新的字符串。
${fn:
trim("ABC")}D
转换的结果为“ABCD”,注意,它将只删除词尾的空格而不是全部,因此“B”和“C”之间仍然留有一个空格。
format标签
一、国际化标签(略)
二、格式化输出
(1)、DATE型数据的格式化输出
formatDate>
属性
描述
value
格式化的日期,该属性的内容应该是java.util.Date类型的实例
type
格式化的类型
pattern
格式化模式
var
结果保存变量
scope
变量的作用范围
timeZone
指定格式化日期的时区
formatDatevalue="<%=newDate()%>"pattern="yyyy年MM月dd日HH点mm分ss秒"/>
如:
parseDatevalue="2008-8-8"pattern="yyyy-MM-dd"var="abccba"scope="session"/>
(2)、解析日期的parseDate>标签
解析一个日期,并将结果作为java.lang.Date类型的实例返回。
parseDate>标签看起来和formatDate>标签的作用正好相反。
属性
描述
value
将被解析的字符串
type
解析格式化的类型
pattern
解析格式化模式
var
结果保存变量,类型为java.lang.Date
scope
变量的作用范围
parseLocale
以本地化的形式来解析字符串,该属性的内容为String或java.util.Locale类型的实例
timeZone
指定解析格式化日期的时区
(3)、数字格式化输出
formatNumber>
属性
描述
value
格式化的数字,该数值可以是String类型或java.lang.Number类型的实例
type
格式化的类型
pattern
格式化模式
var
结果保存变量
scope
变量的作用范围
maxIntegerDigits
指定格式化结果的最大值
minIntegerDigits
指定格式化结果的最小值
maxFractionDigits
指定格式化结果的最大值,带小数
minFractionDigits
指定格式化结果的最小值,带小数
formatNumber>标签实际是对应java.util.NumberFormat类,type属性的可能值包括currency(货币)、number(数字)和percent(百分比)。
formatNumbervalue="1000.888"type="currency"var="money"/>
该结果将被保存在“money”变量中,将根据Locale环境显示当地的货币格式。
(4)、解析数字的parseNumber>标签
解析一个数字,并将结果作为java.lang.Number类的实例返回。
parseNumber>标签看起来和formatNumber>标签的作用正好相反。
属性
描述
value
将被解析的字符串
type
解析格式化的类型
pattern
解析格式化模式
var
结果保存变量,类型为java.lang.Number
scope
变量的作用范围
parseLocale
以本地化的形式来解析字符串,该属性的内容应为String或java.util.Locale类型的实例
下面看一个示例。
parseNumbervalue="15%"type="percent"var="num"/>
解析之后的结果为“0.15”。
OGNL表达式
一、OGNL表达式简介
OGNL是ObjectGraphicNavigationLanguage(对象图导航语言)的缩写,它是一个开源项目。
Struts2框架使用OGNL作为默认的表达式语言。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
-
标签
笔记
冰豆网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。