Bal*_*usC 15
这将是fn:replace()
功能.
<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
...
${fn:replace(foo, '"', '\\"')}
Run Code Online (Sandbox Code Playgroud)
与具体问题无关,这是一个经常反复出现的要求,以便在将用户控制的输入重新显示为HTML属性时防止格式错误的HTML.通常,你应该使用<c:out>
或fn:escapeXml()
替代它.例如
<input name="foo" value="<c:out value="${param.foo}" />" />
<input name="foo" value="${fn:escapeXml(param.foo)}" />
Run Code Online (Sandbox Code Playgroud)
它不仅需要引号考虑,也是所有其他的XML特殊字符,如<
,>
,&
,等.