2017-03-09 18 views
0

私の文字列は一重引用符を含むHTMLコードであり、これをエスケープと一重引用符に置き換える必要があります。JSPで一重引用符を置き換える方法


入力:<p style='padding-left:30px;'>
出力:<p style=\'padding-left:30px;'>

私はこれを試してみて、単一引用符をエスケープしてみました(よう'\''ではなく作品ん):

<c:set var="htmlEvento" value="${fn:replace(filial.eventos, ''', '\\'')}"/> 

エラーを

原因:org.apache.jasper.JasperException:/loja/FilialLojaList.jsp (行:125、列:11) "$ {fn:replace(filial.eventos、 '' '、' \ '') javax.el.E​​LException::}」 は、無効な式(複数可)を含んで に表現の解析に失敗しました[$ {FN:(filial.eventos、 '' ' '\'')}置き換える]

+0

可能な重複[JSTL/EL式内部のシングルとダブルの両方の引用符を使用するには?](のhttp:// stacko verflow.com/questions/8898815/how-to-use-both-single-and-double-quotes-inside-jstl-el-expression)これは一重複ではありませんが、これは十分に近く、解決策は同じ ;) – AxelH

答えて

0
<c:set var="input" value="<p style='padding-left:30px;'>"></c:set> 

<c:set var="output" value="${fn:replace(input, '\\'', '\\\\\\'')}"/> 
Input: <c:out value="${input }"></c:out> </br> 
Output: <c:out value="${ output}"></c:out> 

出力:

Input: <p style='padding-left:30px;'> 
Output:<p style=\'padding-left:30px;\'> 
関連する問題