2011-10-03 97 views
4

如何从JSP中的Expression Language(EL)获得值到JavaScript函数的值?如何在JavaScript/jQuery函数中使用表达式语言(EL)?

在我的JSP页面中我有:

<li>${state}</li> 
<input title="Show ${state}">Show</> 

而且我希望能够从JSP得到${state}到JavaScript函数:

$('#input').click(function() { 
if ($(this).val() == "Show + ${state}">") 
{ 
    $(this).val("Show"); 
    $(this).attr("title", "Hide + ${state}"> "); 
} 
else 
{ 
    $(this).val("Hide"); 
    $(this).attr("title", "Hide + ${state}">"); 
} 
}); 

我想要的标题每个按钮可以显示俄亥俄州或隐藏俄亥俄州,但要更改<li>标记中的任何状态。

回答

1

为了使JSP内联EL变量,JavaScript必须在.jsp文件内而不是.js文件中的<script>内。

或者,您也可以只做一个简单的字符串替换第一个单词或前四个字符的子字符串。这样你就不需要JavaScript中的任何EL了,因此你可以把JS代码放在它自己的.js文件中。

顺便说一下,整个功能的逻辑流程本身就没什么意义。难道你不想要检查val()"Hide"吗?难道你不想在两个条件之一的标题中使用"Show"

+0

我猜有些是OP的测试代码只是为了看看哪部分的'如果'实际上在运行。 – mellamokb

0

如果可能的值将是Show ${State}Hide ${State}那么你真的只关心前四个字符:

if ($(this).val().substring(0, 4) == "Show") 
{ 
    ... 
} 
... 
相关问题