最近做一个项目,需要在jsp页面中对使用el表达式的参数进行操作,在网上找到下面的方法 ,用起来很方便。。 分享。。。
在JSP中引入标准函数的声明
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
下面是JSTL中自带的方法列表以及其描述
函数名 | 函数说明 | 使用举例 |
fn:contains | 判断字符串是否包含另外一个字符串 | <c:if test="${fn:contains(name, searchString)}"> |
fn:containsIgnoreCase | 判断字符串是否包含另外一个字符串(大小写无关) | <c:if test="${fn:containsIgnoreCase(name, searchString)}"> |
fn:endsWith | 判断字符串是否以另外字符串结束 | <c:if test="${fn:endsWith(filename, ".txt")}"> |
fn:escapeXml | 把一些字符转成XML表示,例如<字符应该转为< | ${fn:escapeXml(param:info)} |
fn:indexOf | 子字符串在母字符串中出现的位置 | ${fn:indexOf(name, "-")} |
fn:join | 将数组中的数据联合成一个新字符串,并使用指定字符格开 | ${fn:join(array, ";")} |
fn:length | 获取字符串的长度,或者数组的大小 | ${fn:length(shoppingCart.products)} |
fn:replace | 替换字符串中指定的字符 | ${fn:replace(text, "-", "•")} |
fn:split | 把字符串按照指定字符切分 | ${fn:split(customerNames, ";")} |
fn:startsWith | 判断字符串是否以某个子串开始 | <c:if test="${fn:startsWith(product.id, "100-")}"> |
fn:substring | 获取子串 | ${fn:substring(zip, 6, -1)} |
fn:substringAfter |
获取从某个字符所在位置开始的子串 | ${fn:substringAfter(zip, "-")} |
fn:substringBefore | 获取从开始到某个字符所在位置的子串 | ${fn:substringBefore(zip, "-")} |
fn:toLowerCase | 转为小写 | ${fn.toLowerCase(product.name)} |
fn:toUpperCase | 转为大写字符 | ${fn.UpperCase(product.name)} |
fn:trim | 去除字符串前后的空格 | ${fn.trim(name)} |
<c:foreach> varstatus 的属性
不论是对整数还是对集合进行迭代, <c:forEach>
剩余的属性 varStatus
所起的作用相同。和 var
属性一样, varStatus
用于创建限定了作用域的变量。不过,由 varStatus
属性命名的变量并不存储当前索引值或当前元素,而是赋予 javax.servlet.jsp.jstl.core.LoopTagStatus
类的实例。该类定义了一组特性,它们描述了迭代的当前状态,下面列出了这些特性:
特性 | Getter | 描述 |
current | getCurrent() | 当前这次迭代的(集合中的)项 |
index | getIndex() | 当前这次迭代从 0 开始的迭代索引 |
count | getCount() | 当前这次迭代从 1 开始的迭代计数 |
first | isFirst() | 用来表明当前这轮迭代是否为第一次迭代的标志 |
last | isLast() | 用来表明当前这轮迭代是否为最后一次迭代的标志 |
begin | getBegin() | begin 属性值 |
end | getEnd() | end 属性值 |
step | getStep() | step 属性值 |