我在一个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的新手,我不知道将伪代码转换为实际工作代码的正确方法。
发布于 2010-08-03 06:28:45
您可以在JSP中使用标记库/EL来打印字符串,就像打印JavaScript代码一样。您知道,JSP在You服务器机器上运行,生成HTML/CSS/JS并将其发送到You浏览器,然后浏览器开始运行JS代码。您应该编写相应的服务器端代码,以便在when浏览器中查看源代码时,其HTML/CSS/JS输出看起来是正确的。
你的伪代码有点模棱两可,但我打赌你正在寻找的东西是这样的:
jQuery(function($){
$("#product").mask('${test ? 'someotherString' : mask}',{placeholder:" "});
});(不要注意语法突出显示,代码是正确的,荧光笔无法识别EL)
关于${}的事情是EL (Expression Language)。它将在JSP运行时处理。它应该按照Servlet 2.4/JSP 2.0 (已经存在5年以上)在模板文本中工作。?:是众所周知的条件运算符。如果表达式的计算结果为true,则将分配/打印?之后的部分(本例中为文字字符串"someotherString"),否则将分配/打印:后的部分(本例中为限定作用域的变量mask)。
这将在the浏览器中结束,如下所示
jQuery(function($){
$("#product").mask('someotherString',{placeholder:" "});
});或
jQuery(function($){
$("#product").mask('someString',{placeholder:" "});
});取决于test的布尔结果。
发布于 2010-08-03 06:28:16
在我的jsp中,我会这样做:
<%
String mask = someString
if(test):
mask = "someotherString"
%>
jQuery(function($){
$("#product").mask(<%= mask %>,{placeholder:" "});
});发布于 2010-08-03 06:33:34
使用JSP处理掩码变量,然后将其放入jQuery代码中。
<%
String mask = "";
if (test) {
mask = "something";
}
else {
mask = "something else";
}
%>
jQuery(function($){
$("#product").mask('<%=mask%>',{placeholder:" "});
});https://stackoverflow.com/questions/3392271
复制相似问题