java - 当我使用 <h :outputText/>? 时,为什么 Oracle ADF 不为我转义引号

标签 java jsf oc4j oracle-adf

当我使用 Javascript 构建字符串时,为什么 Oracle ADF 不为我转义引号?

<jsp:root ...>
 <f:view ...>
  <afh:html>
   <f:loadBundle basename="message" var="msg"/>
   <afh:head ...>
    <script>
     function validate() {
      var errorMessages = '';
      .
      .
      if (regNum == '') {
       errorMessages = errorMessages + '<h:outputText value='#{msg['getDetails.validate.regNum']}"/>' + '\r\n';
      }
      .
      .

在我的消息资源文件中,我有类似的内容

getDetails.validate.regNum=I'd enter the registration number if I were you.

真实文本是爱尔兰语,带有重音字符,我可以看到重音字符被转义,但引号字符没有转义。

最佳答案

因为单引号在 HTML 中并不非法。

但它们是用 JS 编写的。您可以使用fn:replace()逃离他们。

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
...
<script>
   var foo = '<h:outputText value="#{fn:replace(msg['getDetails.validate.regNum'], "'", "\'")}"/>';

关于java - 当我使用 <h :outputText/>? 时,为什么 Oracle ADF 不为我转义引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3711194/

相关文章:

java - 谁能告诉我此查询中 spring-data 投影警告的原因吗?

java - Java Web 应用程序中 session cookie 上的安全标志

java - javascript click() 和用户使用 JSF 单击按钮之间的行为差​​异

proxy - 带 Spring 的 CGLIB 抛出 IllegalAccessError

java - 如何解决在 OC4J (10.1.3.5) 中加载 Web 应用程序时出现错误并提示“找不到类 oracle.jbo.JboException”的问题?

c# - java中的string.format等效

java - 从 main 方法中的类访问包含变量的非静态方法?

jsf - EJB 是否应该是实例变量并在 JSF Managed Beans 中标记为 transient ?

java - 链接触发方法多个编号。次

css - JSP 上下文路径