最近遇到一个需求:就是用户提交表单的时候允许输入空字符串,形如 “ user” 这种,但是到了查询列表展示的时候,出现只能显示" user",一个空格而非多个空格,原因:浏览器在解析html页面时,会将多个连续的空格解析成一个空格。于是我想到了使用jsp的el表达式:${key.msName.replaceAll(" "," ")},做一个整体的替换。
但是发现,原先列表渲染3000条数据需要2s左右,而现在需要5s左右,造成不好的用户体验。
解决办法:数据入库的时候,解析空格为 ,再存入数据库。
那么el表达式的原理是什么呢?
pageContext.getAttribute(key)