代码之家  ›  专栏  ›  技术社区  ›  Bobby

JSP页面内javascript函数参数的变量输入

  •  2
  • Bobby  · 技术社区  · 15 年前

    在jsp页面中有以下函数调用。

    jQuery(function($){
       $("#product").mask("99/99/9999",{placeholder:" "});
    });
    

    我要做的是把一个不同的字符串传递到 .mask 功能。在伪代码中,它看起来像是:

    String passedParam= someString  
    if(test):
      passedParam = "someotherString"
    
    jQuery(function($){
       $("#product").mask(passedParam,{placeholder:" "});
    });
    

    由于对jsp和javascript都不熟悉,我不知道如何将这些伪代码转换为实际的工作代码。

    3 回复  |  直到 15 年前
        1
  •  1
  •   BalusC    15 年前

    您可以在JSP中使用taglibs/EL来打印字符串,就像它是JavaScript代码一样。你知道,JSP在webserver机器上运行,生成HTML/CSS/JS并发送给webbrowser,webbrowser又开始运行JS代码。您应该相应地编写服务器端代码,使其HTML/CSS/JS输出在您执行此操作时看起来正确 查看源 在webbrowser。

    你的伪代码有点模棱两可,但我敢打赌你在找这样的东西:

    jQuery(function($){
       $("#product").mask('${test ? 'someotherString' : mask}',{placeholder:" "});
    });
    

    (不注意语法突出显示,代码正确,荧光笔不识别EL)

    这个 ${} EL (Expression Language) ?: ? "someotherString" ),否则在 : (在本例中,作用域变量 mask ).

    这将在webbrowser中结束

    jQuery(function($){
       $("#product").mask('someotherString',{placeholder:" "});
    });
    

    jQuery(function($){
       $("#product").mask('someString',{placeholder:" "});
    });
    

    取决于 test .

        2
  •  0
  •   ryan    15 年前

    在我的jsp中,我会这样做:

    <%
    String mask = someString  
    if(test):
      mask = "someotherString"
    %>
    
    jQuery(function($){
       $("#product").mask(<%= mask %>,{placeholder:" "});
    });
    
        3
  •  0
  •   Impiastro    15 年前

    使用 JSP协议 ,然后放进去 代码。

    <%
       String mask = "";
       if (test) {
           mask = "something";
       }
       else {
           mask = "something else";
       }
    %>
    
    jQuery(function($){
       $("#product").mask('<%=mask%>',{placeholder:" "});
    });