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

JSP页面内javascript函数参数的变量输入,javascript,jsp,jquery-plugins,Javascript,Jsp,Jquery Plugins,我在jsp页面中有以下函数调用 jQuery(function($){ $("#product").mask("99/99/9999",{placeholder:" "}); }); 我要做的是将不同的字符串传递到.mask函数中。在伪代码中,它看起来大致如下: String passedParam= someString if(test): passedParam = "someotherString" jQuery(function($){ $("#product")

我在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都不熟悉,我不知道如何将此伪代码转换为实际工作代码。

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

<%
String mask = someString  
if(test):
  mask = "someotherString"
%>

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

jQuery(函数($){
$(“#产品”).mask(,{占位符:});
});

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

您的伪代码有点模棱两可,但我敢打赌您正在寻找这样的代码:

<%
String mask = someString  
if(test):
  mask = "someotherString"
%>

jQuery(function($){
   $("#product").mask(<%= mask %>,{placeholder:" "});
});
jQuery(function($){
   $("#product").mask('${test ? 'someotherString' : mask}',{placeholder:" "});
});
(不要注意语法突出显示,代码正确,荧光灯不识别EL)

${}
事情是这样的。它将在JSP运行时进行处理。它应该按照Servlet2.4/JSP2.0(已经超过5年了)在模板文本中工作。
?:
是众所周知的条件运算符。如果表达式的计算结果为true,则将分配/打印
之后的部分(在本例中为文字字符串
“someotherString”
),否则为
之后的部分(在本例中为作用域变量
掩码

这将在webbrowser中作为

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


根据
test

的布尔结果,使用JSP处理掩码变量,然后将其放入jQuery代码中

<%
   String mask = "";
   if (test) {
       mask = "something";
   }
   else {
       mask = "something else";
   }
%>

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

jQuery(函数($){
$(“#产品”).mask(“”,{占位符:“});
});

如果不将
掩码
变量与
掩码
方法一起使用,会更清楚。顺便说一句,JSP中定义的
mask
变量是否在JavaScript脚本中进一步使用?@Marcel它现在已修复。不,不是。-考虑到你对巴卢斯克答案的评论,显然是这样的这也是一种方式,但这已经很过时了。Scriptlet的使用已经超过十年了。尽可能使用taglibs/EL;)