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

jstl标签fn:substring使用技巧 和 JSTL中fn表达式的使用说明

2013-12-24 09:05 369 查看
需求:将字段名为usercode的手机号18680002001中间四位替换成﹡

按需求来说,替换后的结果是186****2001 ,笔者在公司开发用的是内网,无法第一时间用网络查询,

公司产品是用Struts2,struts2托管给Spring了,

当时写了${fn:substring(usercode,0,3)}****${fn:substring(usercode,7,正数)},想把中间4位替换掉, 无乱怎么写

都显示前3位的号码186,很是郁闷,于是联想起stl函数标签的源代码,把后面以为改成负数就解决问题。

代码:${fn:substring(usercode,0,3)}****${fn:substring(usercode,7,-1)}

说明:fn:substring(string,index,负数) 从索引处截取到字符串的末尾

jstl相关代码如下:

/**

* 返回参数input部分字符串, 从参数beginIndex开始到参数endIndex位置,包括end位置的字符

* @param input

* @param beginIndex 开始索引

* @param endIndex 结束索引

* @return 截取后的字符串

*/

public static String substring(String input, int beginIndex, int endIndex) {

if (input == null) input = "";

if (beginIndex >= input.length()) return "";

if (beginIndex < 0) beginIndex = 0;

if (endIndex < 0 || endIndex > input.length()) endIndex = input.length();

if (endIndex < beginIndex) return "";

return input.substring(beginIndex, endIndex);

}


JSTL中fn表达式的使用说明

简介
在jsp页面上经常遇到得到集合长度、字符长度、字符切取等应用需,在2.0以前这种需是许多程序员对JSTL及为不满意的地方之一。为此在2.0 中添加了functions标签,其提供对以上需求的支持。 使用方法
引用<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>函数说明:
函数描述
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 首尾的空格,并将其返回
示例

${fn.substring(string,begin,end)}

来一个我自己测试用的代码

<%@ page contentType="text/html;charset=gbk"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>

<html>

<head>

<title>这个是 JSTL的 测试</title>

</head>

<body>

<c:set var="str" value="stringStRiNg"/>

<c:set var="t" value="tr"/>

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

<c:out value="${fn:toLowerCase(str)}"/>

<c:out value="${fn:toUpperCase(' ')}"/>

<c:out value="${fn:toUpperCase('AbCdEfg')}"/><br>

<c:out value="${fn:substring('asdfefg',0,3)}"/><br>

<c:out value="${fn:substringAfter('asdf','s')}"/><Br>

<c:out value="${fn:substringBefore(str,'g')}"/><Br>

<c:out value="${fn:trim(' sd dew e ')}"/><Br>

<c:out value=" d sd dew e "/><Br>

<c:out value="${fn:replace(str,'ing','IN')}"/><Br>

</body>

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