<s:if test="#name == '">
<td onmouseover="getCourseData(this,'\'');" > 操作 </td>
</s:if>
<s:else>
<td onmouseover="getCourseData(this,'<s:property value="name"/>');" > 操作 </td>
</s:else>
上面兰色的内容中如果有'也要替换为\',要不字符串不闭合,对jsp不熟悉,怎么替换楼主应该知道吧?
<td onmouseover="getCourseData(this,'\'');" > 操作 </td>
</s:if>
<s:else>
<td onmouseover="getCourseData(this,'<s:property value="name"/>');" > 操作 </td>
</s:else>
上面兰色的内容中如果有'也要替换为\',要不字符串不闭合,对jsp不熟悉,怎么替换楼主应该知道吧?
备注:没测试过
关键我这个值是页面上的,<s:property value="name"/>,而且要进行传值,在传值之前判断~
能写成<td onmouseover="getCourseData(this,' <s:property value="name"/>.replace("'","\'")');" > 操作 </td>吗?
在service里set进去的,这个值是个列表~
那么你在getCourseData这个里面做替换
你这个是后台传得吧 <s:property value="name"/> ,就是在后台先把name中的'或"处理下,然后你显示的时候
就没问题了
怪我没说清楚,我这个值是后台set进来的,不过要在页面上显示出来set过来的值,显示出来是一点问题没有的,现在我想把这个值传到js里,才遇到这个问题,在后台处理好了,set进来的时候在页面显示的还是原来的吗?
在生成页面的时候会有问题
如下 aaaa"aaaaaaa是传的值,生成页面如下
<td onmouseover='getCourseData(this,"aaaa"aaaaaaa");' >
将单引号替换为\' 就行了对于双引号也可以这样做
你set过来的过中做替换啊
就是在页面显示之前做替换啊!