Dim*_*ims 4 quotes jstl escaping el
我想调用fn:在c里面替换EL:out来替换引用字符.
以下不起作用
<c:out value="${fn:replace(userName,'"','\\"')}"/>
Run Code Online (Sandbox Code Playgroud)
因为XML解析器在第一个双引号处停止并且看不到c:cout标记终止(JSP编译阶段错误).
下列
<c:out value="${fn:replace(userName,'"','\\"')}"/>
Run Code Online (Sandbox Code Playgroud)
不起作用,可能是因为替换功能没有看到实际引用字符.
使用参数化它们<c:set>.
<c:set var="search" value='"' />
<c:set var="replace" value='\\"' />
<c:out value="${fn:replace(userName, search, replace)}"/>
Run Code Online (Sandbox Code Playgroud)
与具体问题无关,您还没有考虑过真正的JSON生成器吗?以Gson为例,它是以下oneliner的问题,因为这user是一个值得尊敬的Javabean:
String json = new Gson().toJson(user);
Run Code Online (Sandbox Code Playgroud)
您将直接获得语法上有效的JSON,而无需摆弄所有方法来使JSP/JSTL/EL生成有效的JSON.
| 归档时间: |
|
| 查看次数: |
17810 次 |
| 最近记录: |