将JSON值从JavaScript传递到JSP

Pass JSON value from JavaScript to JSP

本文关键字:JSP JavaScript JSON 值从      更新时间:2023-09-26

我正在编写从javascript到JSP获取JSON值的代码。JSON值是一个布尔值,因此我可以在JSP脚本中使用if/else。我有两个javascript文件和一个JSP。

Widget.js

initialize: function(conf){
  _Widget.prototype.initialize.call(this);
  _.bindAll(this, 'render', 'onPChange', 'applyInfo');
  this.listenTo(this.model, 'sync', this.render);
  this.listenTo(this.model, 'error', this.handleError);
  conf.getBus().on('/p'. this.onPChange);
  return this;
},
serializeData: function(model){
  return _.extend({}, this.resStr, model.attributes);
}
render: function(model, resp, options){
  var data;
  f = JSON.stringify(data.sFund);
  console.log("Result value: " + f);
}

index.js

$('#wgtWidget').objFactory(this.classes, this.wgts, this.mdls, conf);
this.mdls['wgtWidget'].render();

Portlet.jsp

<div data-wgt='Widget' data-model='Model' id='wgtWidget' class='model'></div>
<script>
  var f;
  console.log("Returned JSON value: " + f);
  if(f==true)
     console.log("Success");
</script>

我将javascript文件生成一个缩小的main.js文件。当我尝试提交上面的代码时,我得到

conf.getBus is not defined 

错误,而我得到的日志为:

Result value: true
Returned JSON value: undefined

如果我将JSP更改为:

Portlet.jsp

<!-- <div data-wgt='Widget' data-model='Model' id='wgtWidget' class='model'></div> -->
<script>
  var f;
  console.log("Returned JSON value: " + f);
  if(f==true)
     console.log("Success");
</script>
现在我得到了:
this.mdls.wgtWidget is not defined

没有其他日志

我试着删除

this.mdls['wgtWidget'].render(); 

从index.js代码。这使得页面加载没有错误,但没有其他日志。

你能帮我把这事做完吗?我正在努力寻找一个答案从3天。

谢谢。

经过相当多的时间和工作,我理解值没有按原样传递。我只是删除了a.t getbus ();