导航:首页 > 编程语言 > jstlfn函数

jstlfn函数

发布时间:2023-06-15 08:29:03

① 自定义jstl fn函数fns有什么好处

替换字符串中指定的字符 ${fn:replace(message, "", "")} 那就比较麻烦了啊,建议先在后台处理后再传到前台。

② 在jsp的页面里,jstl的值怎么赋值给某个字符串

你这样做的目的是什么,有什么意义吗?
如果想处理字符串的话,有fn函数

你可能需要这个
<c:set var="username" value="${user.username}"></c:set>

③ jstl中的${fn:contains(string,role.name)}的用法

要这样写:
${fn:contains(string,role.name.concat(","))}

试下吧。

④ 求jstl中的函数fn的使用方法

替换字符串中指定的字符 ${fn:replace(message, "<img src=\"\">", "")}
那就比较麻烦了啊,建议先在后台处理后再传到前台。

⑤ JSTL标签

根据功能可以分为五大类:

1、核心标签

2、格式化标签

3、SQL 标签

4、XML 标签

5、JSTL 函数

一、核心标签

 1、<c:out />标签会自动忽略XML标记字符,所以它们不会被当做标签来处理。标签用来显示一个表达式的结果,与<%= %>作用相似,它们的区别就是<c:out>标签可以直接通过"."操作符来访问属性。

<c:out>标签有如下属性:

 scope 的作用域大小依次为:

application > session > request > page(默认)

jsp 处理变量的作用域先后依次为:

page(默认) -> request -> session -> application

2、<c:set>标签用于设置变量值和对象属性。

3、<c:remove>标签用于移除一个变量。

4、<c:catch> 标签主要用来处理产生错误的异常状况,并且将错误信息储存起来。

5、<c:choose>标签与java switch语句的功能一样,用于在众多选项中做出选择。

switch语句中有case,而<c:choose>标签中对应有<c:when>,switch语句中有default,而<c:choose>标签中有<c:otherwise>。

<c:when>标签的属性如下:

6、<c:import>标签提供了所有<jsp:include>行为标签所具有的功能,同时也允许包含绝对URL。

<c:import>标签有如下属性:

7、<c:forEach>标签用作迭代一个集合中的对象。

语法格式:

<c:forTokens

    items="<string>"

    delims="<string>"

    begin="<int>"

    end="<int>"

    step="<int>"

    var="<string>"

    varStatus="<string>">

<c:forEach>标签有如下属性:

c:forEach varStatus 属性

  current : 当前这次迭代的(集合中的)项

  index : 当前这次迭代从 0 开始的迭代索引

  count : 当前这次迭代从 1 开始的迭代计数

  first : 用来表明当前这轮迭代是否为第一次迭代的标志

  last : 用来表明当前这轮迭代是否为最后一次迭代的标志

  begin : 属性值

  end : 属性值

  step : 属性值

例如:

<c:foreach  items="${sessionScope.userList}"  var="userItem"  begin="1"  end="10"  step="3"  varStatus="userStatus"> XXX </c:foreach>

实例解读:  对 session 对象存储的 userList 集合对象进行遍历,每次访问的项暂时存储在 userItem 变量中,从索引 1 开始至索引 10 进行访问,但不是依次访问,每隔 3 个元素访问一次。每次访问项的状态相关值由 userStatus 对象暂存。

<c:foreach> 的 varStatus 属性暂存项的相关状态属性,可由 EL 表达式引用。

${userStatus.index} 此项的索引,从0开始

${userStatus.count} 此项的计数序号,从1开始

${userStatus.first} 此项是否是第一项,布尔值

${userStatus.last} 此项是否是最后一项,布尔值

${userStatus.begin} 此次迭代的起始索引,对应<c:foreach>中begin属性值

${userStatus.end} 此次迭代的终止索引,对应<c:foreach>中end属性值

${userStatus.step} 此次迭代的跳跃步伐,对应<c:foreach>中step属性值 

8、<c:forTokens>标签通过指定分隔符将字符串分隔为一个数组然后迭代它们。

<c:forTokens

    items="<string>"

    delims="<string>"

    begin="<int>"

    end="<int>"

    step="<int>"

    var="<string>"

    varStatus="<string>">

9、<c:url>标签将URL格式化为一个字符串,然后存储在一个变量中。

这个标签在需要的时候会自动重写URL。

var属性用于存储格式化后的URL。

<c:url>标签只是用于调用response.encodeURL()方法的一种可选的方法。它真正的优势在于提供了合适的URL编码,包括<c:param>中指定的参数。

<c:url>标签有如下属性:

10、<c:param>标签用于在<c:url>标签中指定参数,而且与URL编码相关。

在<c:param>标签内,name属性表明参数的名称,value属性表明参数的值。

语法格式:

<c:param name="<string>" value="<string>"/>

<c:param>标签有如下属性:

11、<c:redirect>标签通过自动重写URL来将浏览器重定向至一个新的URL,它提供内容相关的URL,并且支持c:param标签。

c:redirect标签有如下属性:

二、格式化标签

JSTL格式化标签用来格式化并输出文本、日期、时间、数字。引用格式化标签库的语法如下:

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

1、<fmt:formatNumber>标签,<fmt:formatNumber>标签用于格式化数字,百分比,货币。

语法格式:

<fmt:formatNumber

  value="<string>"

  type="<string>"

  pattern="<string>"

  currencyCode="<string>"

  currencySymbol="<string>"

  groupingUsed="<string>"

  maxIntegerDigits="<string>"

  minIntegerDigits="<string>"

  maxFractionDigits="<string>"

  minFractionDigits="<string>"

  var="<string>"

  scope="<string>"/>

fmt:formatNumber>标签有如下属性:

如果type属性为percent或number,那么您就可以使用其它几个格式化数字属性。maxIntegerDigits属性和minIntegerDigits属性允许您指定整数的长度。若实际数字超过了maxIntegerDigits所指定的最大值,则数字将会被截断。

有一些属性允许您指定小数点后的位数。minFractionalDigits属性和maxFractionalDigits属性允许您指定小数点后的位数。若实际的数字超出了所指定的范围,则这个数字会被截断。

数字分组可以用来在每三个数字中插入一个逗号。groupingIsUsed属性用来指定是否使用数字分组。当与minIntegerDigits属性一同使用时,就必须要很小心地来获取预期的结果了。

您或许会使用pattern属性。这个属性可以让您在对数字编码时包含指定的字符。接下来的表格中列出了这些字符。

2、<fmt:formatDate>标签用于使用不同的方式格式化日期。

语法格式

语法格式

<fmt:formatDate

  value="<string>"

  type="<string>"

  dateStyle="<string>"

  timeStyle="<string>"

  pattern="<string>"

  timeZone="<string>"

  var="<string>"

  scope="<string>"/>

<fmt:formatDate>标签有如下属性:

<fmt:formatDate> 标签格式模式:

三、JSTL函数

JSTL包含一系列标准函数,大部分是通用的字符串处理函数。引用JSTL函数库的语法如下:

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

1、fn:contains()函数用于确定一个字符串是否包含指定的子串

<c:if test="${fn:contains(<原始字符串>, <要查找的子字符串>)}">

...</c:if>

⑥ 在jsp页面中,处理后台数据在复选框中回显问题

你好,你的问题类别存在问题,建议分组到j2ee类别,这样就会有更多的人帮你回家。
你的问题是想在jsp中显示后台发送来的数据吧 。
可以使用jstl 迭代标签实现,
或者使用java脚本实现。

⑦ 关于EL表达式中有没有substring方法

可以截取,用fn函数:
下面是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.procts)}
fn:replace 替换字符串中指定的字符 ${fn:replace(text, "-", "•")}
fn:split 把字符串按照指定字符切分 ${fn:split(customerNames, ";")}
fn:startsWith 判断字符串是否以某个子串开始 <c:if test="${fn:startsWith(proct.id, "100-")}">
fn:substring 获取子串 ${fn:substring(zip, 6, -1)}
fn:substringAfter 获取从某个字符所在位置开始的子串
${fn:substringAfter(zip, "-")}
fn:substringBefore 获取从开始到某个字符所在位置的子串 ${fn:substringBefore(zip, "-")}
fn:toLowerCase 转为小写 ${fn.toLowerCase(proct.name)}
fn:toUpperCase 转为大写字符 ${fn.UpperCase(proct.name)}
fn:trim 去除字符串前后的空格 ${fn.trim(name)}
函数
描述
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 首尾的空格,并将其返回

⑧ jsp如何截取EL表达式中的部分数据

jsp中通过el表达式中的函数来截图特定内容。
比如使用fn函数的substringAfter来获取特定字符后面的内容:
<%@ 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>Using JSTL Functions-www.yii.com</title>
</head>
<body>

<c:set var="string1" value="This is first String."/>
<c:set var="string2" value="${fn:substringAfter(string1, 'is')}" />

<p>Final sub string : ${string2}</p>

</body>
</html>
fn:substringAfter() 函数返回一个字符串的一部分,在指定的子串后面部分。
这样就能取到标题二字后面的所有内容了。

阅读全文

与jstlfn函数相关的资料

热点内容
dede工具 浏览:507
5g网盟app怎么下载 浏览:486
微信备份老是连接中断 浏览:886
出台多少份文件 浏览:380
鞋子怎么搭配衣服的app 浏览:755
文件名使用的通配符的符号是什么 浏览:916
lol分卷文件损坏怎么办 浏览:276
6分管车螺纹怎么编程 浏览:732
海口农商银行信用卡app是什么 浏览:770
win10任务栏文件夹我的电脑 浏览:14
安卓nba2k18 浏览:776
文件夹密码怎么修改密码 浏览:271
苹果数据中心用什么服务器 浏览:769
省内圆通快递寄文件夹需要多少钱 浏览:740
iphone程序加密 浏览:884
win10文件夹调整文件行高 浏览:681
创意手绘教程 浏览:754
微信删除帐号信息 浏览:596
mysql操作类文件 浏览:649
绕过xp密码 浏览:158

友情链接