<s:if test="#name == '"> 
                <td onmouseover="getCourseData(this,'\'');" >&nbsp;操作 </td> 
                </s:if> 
                <s:else> 
                <td onmouseover="getCourseData(this,'<s:property value="name"/>');" >&nbsp;操作 </td> 
                </s:else>      
上面兰色的内容中如果有'也要替换为\',要不字符串不闭合,对jsp不熟悉,怎么替换楼主应该知道吧?

解决方案 »

  1.   

    在JSP里先转:String.replease("'",\'),你试试, 
    备注:没测试过
      

  2.   

    哦,mygod,我写错了,是\' ,我就是想问怎么替换 比如输入 asdfa'sdfa 替换成  asdfa\'sdfa
      

  3.   

    直接使用"asdfa'sdfa".replace("'","\'")
      

  4.   


    关键我这个值是页面上的,<s:property value="name"/>,而且要进行传值,在传值之前判断~
    能写成<td onmouseover="getCourseData(this,' <s:property value="name"/>.replace("'","\'")');" >&nbsp;操作 </td>吗?
      

  5.   

    Struts没有提供进行replace的函数????
      

  6.   

    迷糊,我就想在jsp页面处理,值是在循环里的<s:property value="name"/>,我这个事件也是在循环里
      

  7.   

     <s:property value="name"/>你是怎么获取这个值的?
      

  8.   

    <td onmouseover='getCourseData(this,"<s:property value="name"/>");' >这样看看
      

  9.   


    在service里set进去的,这个值是个列表~
      

  10.   

    <td onmouseover='getCourseData(this," <s:property value="name"/>");' > 你这个如果可以获取到值
    那么你在getCourseData这个里面做替换
      

  11.   

    实在不行,弄个隐藏字段吧,把你要传的值放里,js里用document.getElementById('').value获得,然后再转
      

  12.   

    什么叫再走一边后台
    你这个是后台传得吧 <s:property value="name"/>  ,就是在后台先把name中的'或"处理下,然后你显示的时候
    就没问题了
      

  13.   


    怪我没说清楚,我这个值是后台set进来的,不过要在页面上显示出来set过来的值,显示出来是一点问题没有的,现在我想把这个值传到js里,才遇到这个问题,在后台处理好了,set进来的时候在页面显示的还是原来的吗?
      

  14.   

    向 java2000_net 老大提问吧,不知道struts他知道没有.....我看了回这个帖子的都没有谁会struts的,楼主自己也没搞清楚struts
      

  15.   

    这个和struts没关系的是传的值含有特舒符号'或“
    在生成页面的时候会有问题
    如下  aaaa"aaaaaaa是传的值,生成页面如下
    <td onmouseover='getCourseData(this,"aaaa"aaaaaaa");' > 
      

  16.   

    jsp 里面可以用String str = 。。str = str.replace("'","\\n'");
    将单引号替换为\' 就行了对于双引号也可以这样做
      

  17.   


    你set过来的过中做替换啊
    就是在页面显示之前做替换啊!