【问题标题】:Call bean method from javascript从javascript调用bean方法
【发布时间】:2015-05-13 04:36:29
【问题描述】:

我有一个 javascript 代码需要一个来自 bean 的字符串值,为此我在我的 bean 中创建了一个返回字符串的方法,我希望在我的 javascript 中有这个字符串,它位于 JSF 页面中,为此我已经做了这但不起作用:

var valvar =eval("#{myBean.getChaine()}");

它给了我这个错误:

Le contenu des éléments doit inclure un balisage ou des caractères au format correct.

翻译:“元素的内容必须包含正确格式的标记或字符”

如何给javascript这个方法返回的值?我正在使用 JSF。

【问题讨论】:

  • 请将法语错误信息翻译成英语。
  • 是否启用了 EL?尝试 ${myBean.chaine} 而不是 #{myBean.getChaine()}
  • 抱歉,它不适用于 $
  • 以下对我有用:var valvar = "#{myBean.getChaine}";
  • 我只是放了#{myBean.getChaine()} 来查看字符串是否监视一个值并显示JSF Bean的值,当我像这样从javascript调用它时 var valvar = " #{myBean.getChaine()}";它导致错误

标签: javascript jsf jsf-2.2


【解决方案1】:

eval() 方法评估表示为字符串的 JavaScript 代码。所以,正确的代码是:

var valvar;
eval("valvar = myBean.getChaine()");

使用eval 函数是一种不好的做法,因为它非常慢。

【讨论】:

  • PS:我在 XHTML 文件中调用这个方法,我使用 JSF
  • 您能否在 firebug(FF 版)或开发者工具(Chrome 版)中打开 Console 选项卡并运行此代码 myBean.getChaine() 。你的输出是什么?
  • javax.faces.view.facelets.FaceletException: Error Parsing /Map.xhtml: Error Traced[line: 43] Le contenu des éléments doit inclure un balisage ou des caractères au format correct.
猜你喜欢
  • 1970-01-01
  • 2013-01-24
  • 1970-01-01
  • 2011-05-07
  • 2012-03-26
  • 2011-04-04
  • 2012-09-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多