您的位置:首页 > Web前端 > JavaScript

JSTL的几个高级用法(转贴)

2007-03-27 12:55 423 查看

fn函数


JSTL1.1标签库还包含了许多其它经常使用的函数:


fn:contains(string, substring)


如果参数string中包含参数substring,返回true




fn:containsIgnoreCase(string, substring)


如果参数string中包含参数substring(忽略大小写),返回true




fn:endsWith(string, suffix)


如果参数 string 以参数suffix结尾,返回true




fn:escapeXml(string)


将有特殊意义的XML (和HTML)转换为对应的XML character entity code,并返回




fn:indexOf(string, substring)


返回参数substring在参数string中第一次出现的位置




fn:join(array, separator)


将一个给定的数组array用给定的间隔符separator串在一起,组成一个新的字符串并返回。




fn:length(item)


返回参数item中包含元素的数量。参数Item类型是数组、collection或者String。如果是String类型,返回值是String中的字符数。




fn:replace(string, before, after)


返回一个String对象。用参数after字符串替换参数string中所有出现参数before字符串的地方,并返回替换后的结果




fn:split(string, separator)


返回一个数组,以参数separator 为分割符分割参数string,分割后的每一部分就是数组的一个元素




fn:startsWith(string, prefix)


如果参数string以参数prefix开头,返回true




fn:substring(string, begin, end)


返回参数string部分字符串, 从参数begin开始到参数end位置,包括end位置的字符




fn:substringAfter(string, substring)


返回参数substring在参数string中后面的那一部分字符串




fn:substringBefore(string, substring)


返回参数substring在参数string中前面的那一部分字符串




fn:toLowerCase(string)


将参数string所有的字符变为小写,并将其返回




fn:toUpperCase(string)


将参数string所有的字符变为大写,并将其返回




fn:trim(string)


去除参数string 首尾的空格,并将其返回




主要是替换


<sql:setDataSource var="dataSrc"


url="jdbc:jtds:sqlserver://localhost/LOG_DB" driver="net.sourceforge.jtds.jdbc.Driver"


user="sa" password="admin"/>


<%-- Set number of rows to process --%>


<c:set var="noOfRows" value="100" />


<c:set var="msg" value="select top 100 * from L_ips_tb where id> (select max (id) from


(select top ard id from L_ips_tb order by id) as T


) order by id"/>


<c:set var="test" value="${fn:replace(msg,'ard',100)}" />




<c:out value="${test}" />


<sql:query var="empList"


sql="${test}" dataSource="${dataSrc}"


/>


<c:out value="${fn:length(empList.rows)}"/>


使用反射


<c:setvar="arrayvalue"value="ID,SrcIP"/>


<c:setvar="delim"value=","/>


<c:setvar="array"value="${fn:split(arrayvalue,delim)}"/>


<c:setvar="count"value="${fn:length(array)}"/>






array是一个String数组,loghistory是一个Map




<c:forEachvar="loghistory"items="${loghistory}"varStatus="statusindex">




<c:forEachbegin="0"end="${count-1}""varStatus="index">


<c:outvalue="${loghistory[array[index.index]]}"/>


</c:forEach>


<c:choose>




使用二维数组


<c:forEach items="${applicationScope[param.answersMapName]}"


var="a">




$...{a.key}) $...{a.value}:




$...{applicationScope[param.votesMapName][a.key]}<br>


</c:forEach〉

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: