jstl fn:replace替换换行符

5 篇文章 0 订阅

转自:https://blog.csdn.net/goddessming/article/details/51678928

近日在使用textarea时,输入了回车,为了将textarea的内容作为一行显示,,需要采用fn:replace函数进行处理

但是测试很多次都不可以,

1. 使用 ${fn: replace(source,'\n','')}

     这样会提示错误,如果换成\\n不会进行替换,

2. 使用${fn:replace(source,'\\\\n','')}

一样无效

3. 经过谷歌发现了一个方法:

<%
    request.setAttribute("vEnter", "\n");   
    //奇怪的是这一行我用 <c:set var="vEnter" value="\n" scope="request"/>
    //都没用,估计是set标签里对value值处理了一下,没jstl的源码,不清楚JSTL是怎么处理的. 
%> 
      <td nowrap="false">${fn:replace(oneResult.answer,vEnter,"<br>")}</td>

转自:http://blog.163.com/chenjie_8392/blog/static/439339842010513128139/

个人在jsp中的使用:

<%
    request.setAttribute("vEnter", "\n");   
%>

var researchResults =  "${fn:replace(obj.textAttribute,vEnter,"")}"; //详细描述

jsp中如果不将换行符替换为空格,代码中会出现换行,导致javascript语法错误。

 

备注:

函数描述

  • 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 首尾的空格 ,并将其返回

   https://blog.csdn.net/szwangdf/article/details/27087215

   注:js引用java变量时要注意特殊字符的处理

  https://blog.csdn.net/oycn0755/article/details/2047207

以下是个人判断字段非空的代码,直接用长度会省去处理变量内容中特殊字符的麻烦

var cityName =  "${fn:length(roadFeedback.cityName)}";//城市信息
if(cityName == "0"){
	alert("城市信息不能为空!");
	return false;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值