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

时间:2010-12-10 20:26:42

标签: java javascript jsp struts

基本上我想做以下事情。

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

但是失败了。我尝试过多种引号,但不能让它正常工作。任何想法?

我可以这样做:

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

但是javascript变量不是字符串,所以我不能根据需要使用它。

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

它应该正常工作,因为标记将在Javascript被解释之前呈现。如果没有正确设置javascript值,可能

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

未返回正确的值。

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