如何在基于JSF的应用程序中指定JSON url到js方法

如何在基于JSF的应用程序中指定JSON url到js方法,json,jsf,jsf-2,primefaces,Json,Jsf,Jsf 2,Primefaces,我正在使用实现一个(类似于Stackoverflow用于标记输入的方法)。为了实现,我需要将JSON对象从JSF传输到Jquery函数。(需要将JSON url指定为fcbkComplete的参数) 我正在使用JSF2.0和Primefaces 3.0M3。如果有人能告诉我如何在基于JSF的应用程序中为js方法指定JSON url,我将不胜感激 非常感谢,您可以让JSF托管bean getter以字符串的形式返回所需的JSON,并将其分配给视图模板中内联的JS变量: <script>

我正在使用实现一个(类似于
Stackoverflow
用于
标记
输入的方法)。为了实现,我需要将JSON对象从JSF传输到Jquery函数。(需要将JSON url指定为
fcbkComplete
的参数)

我正在使用JSF2.0和Primefaces 3.0M3。如果有人能告诉我如何在基于JSF的应用程序中为js方法指定JSON url,我将不胜感激


非常感谢

,您可以让JSF托管bean getter以
字符串的形式返回所需的JSON,并将其分配给视图模板中内联的JS变量:

<script>
    var json = #{bean.json};
    // ...
</script>

var json=#{bean.json};
// ...
(请注意,变量值是不带引号的!即使用
var json='{bean.json}';
将不起作用)

如有必要,您可以使用其他工具轻松地在Java对象和JSON字符串之间转换。如有必要,您可以将该
放入带有
id的
中,以便在ajax请求时重新呈现。如有必要,您可以将其包装到复合组件中

是的,这是非常斯巴达的,PrimeFaces可能有更好的方法来实现这一点,但我不知道有任何方法



另一种完全不同的选择是,当数据不依赖于JSF上下文中的任何内容时(除了某些会话范围的托管bean,它可以作为
HttpSession
属性提供),您还可以创建一个简单的函数,它在
jQuery.ajax()
调用时执行该任务。您可以在这个答案中找到几个例子:

如果我只是通过托管bean的getter设置js变量,那么js方法在呈现页面后是否可能触发进一步的数据请求!??另外,
fcbkComplete
库方法要求我为
json
s指定一个url,您可以在我添加的代码中看到1)是的,只需在该行之后或在文档准备期间调用JS函数。2) 然后使用servlet。
<script>
    var json = #{bean.json};
    // ...
</script>