我正在做这个网页,我在其中传递一个包含Map的属性。
我正在使用Jquery根据键获取此映射的值。
我有以下代码:
jQuery("font#clickable").click(function() {
var t = $(this).text();
var operation = '${regle.words[t].operation}';
alert(operation);
});
我将点击包含的文本并将其存储在“t”变量中。
以下是不同元素的描述:
问题是当我尝试根据单击的单词获取 操作 的值时(var operation ='$ {regle.words [t] .operation }')我在alert()中得到一个空结果。
var操作为空
当我直接传递“words”地图键上的字符串时:
var operation = '${regle.words['that'].operation}';
我可以接受手术。然后操作值是“替换”。我尝试过以下方法:
var t = 'that';
但同样的结果我得到一个空字符串。问题是我在键上传递变量而不是String。
有没有人知道如何解决这个问题?
答案 0 :(得分:0)
我认为你要做的是:
var operation = '${' + regle.words[t].operation + '}';
例如,如果regle.words[t].operation
给你字符串" foo"那么operation
中的结果就是字符串" $ {foo}"。
但是,如果您真正想要的是operation
成为字符串" $ {regle.words ['那']。操作}"那么你应该使用以下
var operation = "${regle.words['" + t + "'].operation}";
答案 1 :(得分:0)
因此,在互联网上看了好几个小时后,我意识到我想做的事情不能混淆。我试图将JavaScript变量传递到EL中的JSP页面。这是不可能完成的,如果我没有错,唯一的方法是通过请求中的属性。我所做的可能不是很干净但是我能解决问题的唯一方法。我把我的变量放入一个隐藏的输入中,我在我的帖子请求中传递。然后我可以按照我的意愿使用它。无论如何,谢谢你的帮助。