将javascript变量设置为struts属性映射值

将javascript变量设置为struts属性映射值,java,javascript,jsp,struts,Java,Javascript,Jsp,Struts,基本上我想做以下几点 var myvar = '<s:property value="myMap['mapKey'].mapObjectValue" />' var myvar='' 但这失败了。我试过几种不同的引号,但都不能正确使用。有什么想法吗 我可以这样做: var myVar = <s:property value="myMap['mapKey'].mapObjectValue" />; var myVar=; 但是javascript变量不是字符串,因此

基本上我想做以下几点

var myvar = '<s:property value="myMap['mapKey'].mapObjectValue" />'
var myvar=''
但这失败了。我试过几种不同的引号,但都不能正确使用。有什么想法吗

我可以这样做:

var myVar = <s:property value="myMap['mapKey'].mapObjectValue" />;
var myVar=;

但是javascript变量不是字符串,因此我无法根据需要使用它。

如果您的第一次尝试失败,我猜问题在于javascript解析。您可能希望尝试使用Apache Commons Lang转义Javascript的字符串,例如:

var myvar = '<s:property value="@org.apache.commons.lang.StringEscapeUtils@escapeJavaScript(myMap['mapKey'].mapObjectValue)" />';
var myvar='';

它应该可以工作,因为标签将在解释Javascript之前呈现。如果javascript值设置不正确,可能

<s:property value="myMap['mapKey'].mapObjectValue" />

返回的值不正确


正如@BalusC所说,没有必要在IDE上编译javascript。

它到底是如何失败的?IDE是否显示了一个可怕的错误,导致您甚至没有尝试运行它?