关于在页面输入特殊符号保存到数据库后,页面查询,特殊字符可以展示到页面的问题

      

                                                           这是我的第one篇博客,写的有不好的希望大家可以多提提意见或者建议,谢谢!

       前两天项目需要写一个页面输入特殊字符点击保存,查询数据库需要将特殊字符(.,>,<,@,&,*[等程序里的特殊字符])串展示到页面上,查了一些资料,现在将自己的经验分享给大家!

说到这里,我想说hibernate真是一个强大的框架!<后续说为什么>

      前台的写法:

为了方便看省略一些代码吧。。。

<script type="text/html">
    ...
     function save(){
     var p =encodeURIComponent($.trim($("#p").val()));//页面验证字符编码
     if(验证){
         var parm ="&p="+$("#p").val() 
       }
     }
    ajax.({
           ....
           url:...
           data:'...'+param //参数传进后台
 <span style="white-space:pre">	</span>   ...
            })
    ...
</script>
<span style="white-space:pre">	</span>
<span style="font-size:18px;">后台(java)的代码,对字符做处理,java中有一些特殊字符的转换标识:</span>
<pre name="code" class="java" style="font-size:14px;">MtsOutput mtsOutput = new MtsOutput()
String p = paramBean.getP();
p = p.replace("<","&lt;").replace(">","&gt;");
mtsOutput .setP(P)
....
这样就可以解决了。

 
<span style="font-size:18px;">别走开,后面很精彩~~~</span>
<span style="font-size:18px;">在我debug的时候不小心注释了后台那行转换代码发现页面照样可以展示出<,>,@,.,等符号,我迫不及待的翻阅资料这到底是怎么一回事的时候,终于解出答案来</span>
<span style="font-size:18px;">这就是我前面所说的hibernate很强大的一个功能,原来hibernate机制本身就对有些特殊符号进行转换了,只要给页面jsp中添加《<span style="font-family: Arial, Helvetica, sans-serif;">encodeURIComponent</span><span style="font-family: Arial, Helvetica, sans-serif;"> 》一行代码就可以了,但是还有一些特殊符号hibernate机制没有转换,如&,这个符号,我又用了java代码的replace方法解决,可发现hibernate不支持,问题在陷入了僵局之时,有位大神指点迷津,在oracle的sql语句中有个函数replace,就上述问题而言,查询数据库展示到页面,写个sql查询语句如下:</span></span><pre name="code" class="java">select replace(mo.p,'&','&amp;') from Mts_Output mo where ...;
问题解决了!

 












  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值