jsp页面input的value值输出含英文双引号问题解决

在做Jsp页面开发时,我们经常使用JSTL表达式来进行页面的输出,但是突然遇到如下一个问题
问题描述:当数据库中某个字段带双引号时,input文本框使用Jstl表达式直接设置value值时,会出现显示为空的不正常现象。

<input type="text" class="form-control" id="place" name="place" value="${place}">

上面这种情况看起来是正确的,但是没有遇到特殊情况,如果数据库中place字段的值是 "北京 大学" 或者北京"大学"
这种情况下该input输入框的值会显示什么呢?
答案是:
第一种情况显示 空白;

"北京 大学"

第二种情况显示 北京
北京"大学"

当然上面两种情况都不能显示出正确的输出,原因是input的value接收数据时会原样输出,
导致输出英文的双引号同html元素的双引号进行了组合,产生了冲突,故不能产生正确的输出。
若是想解决该问题,有很多实现方式,我提供如下两种参考实现方法
1).使用jstl的另外一个表达式<c:out>实现,将value的值使用<c:out>表达式输出

<input type="text" class="form-control" id="place" name="place" value="<c:out value="${place}"></c:out>">

2).在服务端对双引号进行转义,即将双引号替换成html的转义字符"

place.replaceAll("\"",""");

以上只是其中2种实现方法,还有其他的实现,比如使用Js去改变value的值也可以实现

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,033评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 35,124评论 18 399
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 13,598评论 2 33
  • 有看过奥斯卡大片《美丽心灵》的人应该对博弈论不陌生,这里缅怀下纳什夫妇二老,前年车祸不幸去世,天妒英才。博...
    江以恒阅读 1,531评论 0 0
  • 黑陶 包瓜 东龙黄金酒, 烧鸡 香肠 五百居 火烧夹肉,喝酒要滴流。 大锅菜 就馒头 血肠特顺口, 焖子 皮渣 磁...
    乔延宾阅读 357评论 0 1

友情链接更多精彩内容