首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSON Renderkit -或者我如何将JSON返回给JSF客户端?

JSON Renderkit -或者我如何将JSON返回给JSF客户端?
EN

Stack Overflow用户
提问于 2011-07-12 02:29:01
回答 2查看 1.8K关注 0票数 1

我正在使用jQuery对JSF2.0服务器进行AJAX调用。我调用的"page“看起来像这样:

代码语言:javascript
复制
<ui:composition template="/templates/jsonTemplate.xhtml">
    <ui:define name="content">
    #{tabBean.jsonUrl}
    </ui:define>
</ui:composition>

其中我的jsonTemplate.xhtml看起来像这样:

代码语言:javascript
复制
<html xmlns:ui="http://java.sun.com/jsf/facelets">
    <ui:insert name="content" />
</html>

发送给客户机的结果包含我的JSON对象和HTML标记,我必须在客户机上去掉它们。

我想要返回的是一个纯JSON对象。

代码语言:javascript
复制
{ "url" : "/this/is/my/url.xhtml" }

在客户端,我去掉和标签,对parseJSON使用jQuery并返回一个JSON对象。我试图指定没有HTML标签的模板,但它抱怨。这似乎是我能生成的最小响应。

我希望有一个能让我只返回纯RenderKit的JSON。

EN

回答 2

Stack Overflow用户

发布于 2012-01-13 19:25:56

我建议您使用带有Jaxson提供者的RESTEasy库。从它开始并不难。在正确配置之后,您将只需要实现对服务器的ajax请求。Java代码应该是smth:

代码语言:javascript
复制
@POST
@Path("/getPossiblePhases")
@Encoded
@Produces("application/json")
public List<Process> getPossiblePhases(@FormParam("prfID") Long prfID){
    return new List<Process>(); // some list here for example
}

作为响应,您将只得到JSON。Ofc它支持xml,GET请求,并有许多其他功能。支持Spring。

票数 0
EN

Stack Overflow用户

发布于 2012-01-13 21:17:27

只要不发出那些HTML标记即可。

替换

代码语言:javascript
复制
<html xmlns:ui="http://java.sun.com/jsf/facelets">
    <ui:insert name="content" />
</html>

通过

代码语言:javascript
复制
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets">
    <ui:insert name="content" />
</ui:composition>

然而,更好的方法确实是使用use服务来实现这一点。JSF是一个基于组件的MVC框架,而不是一个web服务框架。看看JAX-RS/JAX-WS。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6654737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档