【问题标题】:passing value to JavaScript from JSP从 JSP 向 JavaScript 传递值
【发布时间】:2010-10-25 14:06:17
【问题描述】:
<%   if(empRecNum != null && !(empRecNum.equals("")))
        {
           empSelected=true;
        }
        boolean canModify = UTIL.hasSecurity("PFTMODFY") && empSelected;
%>

<script type="text/javascript">

    function add(){
        alert(canModify);
        df('ADD');
    }

</script>

我需要在我的 JavaScript 中提醒 canModify

【问题讨论】:

    标签: java javascript jsp


    【解决方案1】:

    我知道我使用这样的东西:

    <%
    String s = "BOB";
    %>
    <script>
    alert('<%= s %>');
    </script>
    

    '' 标签让您输入 java 变量的值。

    【讨论】:

    • 需要对字符串进行转义才能阻止XSS攻击。
    • 是的,最简单的方法是使用 JSON 编码器。
    【解决方案2】:

    摆脱使用 scriptlet,使用 jstl 和表达式语言,它看起来像这样:

    alert( ${UTIL.hasSecurity("PFTMODFY") 
             && empRecNum != null 
             && !(empRecNum.equals("")
            }
          );
    

    【讨论】:

    • 这将起作用 if “UTIL”是在请求属性映射(或者可能是页面属性映射)中可用的引用;我不记得它是隐式工作还是不是)。如果它只是在 scriptlet 中声明的变量,那么它将不起作用。我同意你的观点,但是 scriptlet 很可怕,在 2010 年应该没有人使用它们。
    【解决方案3】:

    做一些类似的事情。

    function add(){
            alert(<%=canModify%>);
            df('ADD');
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-17
      • 2014-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多