获取javascript数据到gwt端

时间:2014-08-07 13:35:16

标签: java javascript gwt jsni

我使用的javascript变量有json数据,如:

<script>var info = '${partyList}'</script>

我在html中得到了上面的字符串,如下所示:

var info = [{"tenantKey":"Demo:farcoahuja@gmail.com","lastModifiedDate":1407410632468,"seqId":1,"lastModifiedBy":"farcoahuja@gmail.com","historyStr":null,"mDate":null,"mBy":null,"partyOrgKey":"5488762045857792","id":6245226045767680,"organizationName":"","fullName":"ram's","partyNameSplitList":["ram"],"currencyId":6262818231812096,"currency":null,"comments":null,"panNo":"","tinNo":"","serviceTaxNo":"","internalRole":"CUSTOMER","acctgAttrib":{"mainBranch":false,"balance":0.0,"openingBalance":0.0,"finalBalance":0.0},"glAcctOrgKey":"4837851162214400:6245226045767680","priceListRef":null,"priceList":null,"mapFirstName":null,"mapLastName":null}];

如果您看到我的上面的json键值(“fullName”:“ram's”),则值ram具有特殊字符(单引号)。
 我已经通过使用JSNI将其传达给gwt了。

private static native String getPartyListString() /*-{
     return $wnd.info;    
}-*/

我的上述方法是正确的,但由于值中的特殊单引号,jsni无法将其送到gwt端。

如何将上述数据提供给gwt方面?

2 个答案:

答案 0 :(得分:0)

不要返回$wnd.partyList,而是返回$wnd.info。由于您在info标记中命名了JavaScript对象<script>,因此您需要在JSNI方法中将其命名为。

答案 1 :(得分:0)

上面提到的是一个JS对象。如果你想像字符串一样获取它,那么你需要将它传递给js对象信息,就像一个字符串。 要做到这一点:

<script>var info = "${partyList}";
var infoString = JSON.stringify(info);
</script>

private static native String getPartyListString() /*-{
     return $wnd.infoString;    
}-*/