2012-03-28 13 views
0

我是一个JavaScript变量从资源包设置为文本:逃离资源包的JavaScript文本

var errorMessage = '<s:text name='base.error'/>'; 

此工作正常,只要在资源包中的文本不包含报价(')字符。
你知道我该如何编码JavaScript的文本?我无法控制资源包中的文本,因此更改它们不是一种选择。
我在想我可以在com.opensymphony.xwork2.util.TextUtils中使用escapeJavaScript这个方法,但是我不能让它在jsp中工作。
感谢

+0

你需要修复它在资源包本身像使用''作为'''并且它应该工作,替代方法是读取操作类中的值并使用''标签,它具有转义属性 – 2012-03-28 15:04:35

回答

0
<s:property value="getText('base.error')" escapeJavaScript="true" /> 
+0

是吗?即使struts解析getText('base.error')' ,它会查找像'parsedValue'这样的bean – tusar 2012-03-28 15:17:58

0

使用双引号(“)将不会导致你的JavaScript来打破,当资源值包含单引号(')。

var errorMessage = "<s:text name='base.error'/>";