如何从JSF获取JSON响应?

许多JavaScript小部件都希望使用JSON格式的数据和选项。 如今,选择一个很酷的小部件并将其包装在一个复合组件中确实很容易。 但是第一个问题是如何发送AJAX请求并以正确的JSON格式接收响应。 JSF用户经常会提出这个问题 。 您需要的只是一个XHTML facelet,如下所示:

<f:view encoding="UTF-8" contentType="text/html"xmlns="http://www.w3.org/1999/xhtml"xmlns:h="http://xmlns.jcp.org/jsf/html"xmlns:f="http://xmlns.jcp.org/jsf/core"><h:outputText value="#{stationView.getClosestStations(param.longitude, param.latitude)}" escape="false"/>
</f:view>

请考虑在h:outputText中使用contentType =“ text / html”(应用程序/ json在这里不起作用)并转义=“ false”。 Bean StationView中的getClosestStations()方法为特殊Java对象列表生成JSON输出。 我建议使用Gson库 ,以便将任何Java对象序列化为JSON。 简短示例:

String[] strings = {"abc", "def", "ghi"};
Gson gson = new Gson();
gson.toJson(strings);  ==> prints ["abc", "def", "ghi"]

上面的XHTML文件位于Web上下文下。 说,在路径/rest/stations.xhtml下。 JavaScript代码中的Ajax调用应如下所示:

$.ajax({url: requestContextPath + '/rest/stations.xhtml',type: "GET",data: {"longitude": x,"latitude": y},dataType: "json",success: function (data) {$.each(data, function (i, station) {...});},error: function () {...}
});

有关$ .ajax的更多信息,请参考jQuery文档 。 注意:如果省略dataType:“ json”,则必须手动解析JSON字符串。

success: function (data) {$.each($.parseJSON(data), function (i, station) {...});
}

响应是一个纯JSON字符串(没有HTML标记),如下所示:

[{"latitude":46.947045,"longitude":7.443922,"distanz":110,"name":"Bern, Bundesplatz"},{....},...]

需要更多有关JSF中JSON响应的示例吗? 在我的下一篇文章中,我可能会解释如何在不编写太多代码的情况下实现出色的自动完成组件。

翻译自: https://www.javacodegeeks.com/2014/07/how-to-get-json-response-from-jsf.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/362953.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用AtomicLong,经典银行账户问题

1.新建Account类&#xff0c;使用AtomicLong定义账户余额&#xff0c;增加和减少金额方法使用getAndAdd方法。 package com.xkzhangsan.atomicpack.bank;import java.util.concurrent.atomic.AtomicLong;public class Account {private AtomicLong balance new AtomicLong();p…

Redis与Zookeeper实现分布式锁的区别

Redis与Zookeeper实现分布式锁的区别 1.分布式锁解决方案 1.采用数据库 不建议 性能不好 jdbc 2.基于Redis实现分布式锁&#xff08;setnx&#xff09;setnx也可以存入key&#xff0c;如果存入key成功返回1&#xff0c;如果存入的key已经存在了&#xff0c;返回0. 3.基于Zookee…

JavaFX技巧12:在CSS中定义图标

当您是像我这样来自Swing的UI开发人员时&#xff0c;您很有可能仍在代码中直接设置图像/图标。 最可能是这样的&#xff1a; import javafx.scene.control.Label; import javafx.scene.image.ImageView;public class MyLabel extends Label {public MyLabel() {setGraphic(new…

被嫌弃的eval和with

前面的话 eval和with经常被嫌弃&#xff0c;好像它们的存在就是错误。在CSS中&#xff0c;表格被嫌弃&#xff0c;在网页中只是用表格来展示数据&#xff0c;而不是做布局&#xff0c;都可能被斥为不规范&#xff0c;矫枉过正。那关于eval和with到底是什么情况呢&#xff1f;本…

短信猫常用AT指令

AT指令短信猫通讯中起着重要的作用&#xff0c;能够通过AT指令控制手机的许多行为&#xff0c;包括拨叫号码、按键控制、传真、GPRS等。AT指令基本用法&#xff1a;1. 测试命令(Test Command)在AT指令后面加上“?”即构成测试命令。例如“ATCSCS?”会列举出所有支持的字符集。…

第八次点评

本周心得&#xff1a; 本周没有作业 &#xff0c;批改的上周的作业。需求分析以及团队的明确分工是开发前准备的要素。本次批改主要侧重于需求分析的调研。 博客园地址https://www.cnblogs.com/zhaojh123/ 博客园点评博客&#xff1a; https://www.cnblogs.com/yanqignkui-123/…

JDBC、Tomcat为什么要破坏双亲委派模型?

问题一&#xff1a;双亲委派模型是什么 如果一个类加载器收到了加载某个类的请求&#xff0c;则该类加载器并不会去加载该类&#xff0c;而是把这个请求委派给父类加载器&#xff0c;每一个层次的类加载器都是如此&#xff0c;因此所有的类加载请求最终都会传送到顶端的启动类加…

JavaFX技巧8:美丽深层

如果要为JavaFX开发UI框架&#xff0c;请养成一种习惯&#xff0c;始终将自定义控件拆分为控件类和外观类。 来自Swing自己&#xff0c;这对我来说并不明显。 Swing还使用MVC概念并将实际的组件呈现委托给UI委托&#xff0c;但是扩展Swing的人们大多将其控件之一子类化&#xf…

dpdk之路-环境部署

dpdk实验环境部署 1、实验环境说明 vmware workstatioin 12 centos 7.5.1804 dpdk-stable-18.11.1 2、实验步骤 &#xff08;1&#xff09;虚拟机安装 http://vault.centos.org/7.5.1804/isos/x86_64/从链接下载CentOS-7-x86_64-DVD-1804.iso&#xff0c;安装时需要准备3张虚拟…

管理好我的业务人员

我所在的一家公司属于一家典型的以业务员为主的公司&#xff0c;没有业务员就无法生存下去的这样一家公司。但在平时的一些管理方面我经常会发现以下几点问题&#xff1a;1. 某些业务人员有时候认为天高皇帝远&#xff0c;我在外面工作&#xff0c;公司不可能派人跟踪管理的。2…

initial、inherit、unset、revert和all

前面的话 在CSS中&#xff0c;有4个关键字理论上可以应用于任何的CSS属性&#xff0c;它们是initial(初始)、inherit(继承)、unset(未设置)、revert(还原)。而all的取值只能是以上这4个关键字。本文将介绍initial、inherit、unset、revert和all initial 表示元素属性的初始默认…

基于知识图谱的医疗诊断系统论文

本作品禁止任何人/企业申请专利&#xff0c;禁止任何人使用本作品参加任何比赛或作为毕业设计&#xff0c;如使用本作品源码进行商业用途务必联系作者。 一.科学性 1.研究意义 信息科技经过 60 余年的发展&#xff0c;已经普及到社会生活的每一个角落。随着信息技术在国家治理、…

SpringBoot:SpringBoot简介

SpringBoot ...如今&#xff0c;有关SpringBoot的话题很多。 那么&#xff0c;SpringBoot是什么&#xff1f; SpringBoot是一个新的Spring产品组合项目&#xff0c;它通过大幅度减少所需的配置量来构建可立即投入生产的Spring应用程序。 Spring Boot通过基于运行时可用的类路径…

华为云(ECS)-linux服务器中-Ubuntu图形界面安装-解决root登录受限-VNCviwer/Teamviwer远程访问教程...

安装ubuntu-desktop 1.更新软件库 apt-get update2.升级软件 apt-get upgrade3.安装桌面 apt-get install ubuntu-desktop 解决root登录受限 华为云登录进去是guest用户&#xff0c;不能选择登录用户且不需要密码就即可登录。 登录进去会如下警告信息&#xff1a; 首先下载…

两列自适应布局的4种思路

前面的话 前面已经介绍过单列定宽单列自适应的两列布局&#xff0c;而两列自适应布局是指一列由内容撑开&#xff0c;另一列撑满剩余宽度的布局方式。本文将从float、table、flex和grid来介绍两列自适应布局的4种思路 float 【思路一】float 在单列定宽单列自适应的两列布局中…

机器学习中为什么使用one-hot编码

one-hot编码把分类数据转化为二进制格式&#xff0c;供机器学习使用。 转载于:https://www.cnblogs.com/xin-qing3/p/11447489.html

Java EE并发API教程

这是一个示例章节&#xff0c;摘自Francesco Marchioni编辑的WildFly上的实用Java EE 7开发 。 本章讨论了新的Java EE并发API&#xff08;JSR 236&#xff09; &#xff0c;它概述了使用一组托管资源在Java EE容器上并行执行任务的标准方法。 为了描述如何在您的应用程序中使…

经桥科技与湖南文化艺术产业集团合力打造“网乐潇湘”

签约仪式现场 签约仪式现场 签约仪式现场 经网1月7日讯(记者 陈飞 曹亮) 湖南经桥网络科技有限公司与湖南文化艺术产业集团“网乐潇湘”项目签约仪式隆重举行。经桥科技董事长姜志强、湖南文化艺术产业集团总经理陈介辉等领导出席此次签约仪式。 经桥科技与湖南文化艺术产业集…

文本溢出text-overflow和文本阴影text-shadow

前面的话 CSS3新增了一些关于文本的样式&#xff0c;其中text-overflow文本溢出和text-shadow文本阴影有些特别。因为它们有对应的overflow溢出属性和box-shadow盒子阴影属性。本文将详细介绍这两个作用在文本上的溢出和阴影属性 文本溢出 一般地&#xff0c;人们一提到文本溢出…

python第十三天,函数的嵌套定义,global,nonlocal关键字的使用,闭包及闭包的运算场景,装饰器...

今日内容 1. 函数的嵌套定义 2.global&#xff0c;nonlocal关键字 3.闭包及闭包的运用场景 4.装饰器 函数的嵌套定义 1. 概念&#xff1a;在一个函数内部定义另一个函数 2 .为什么要有函数的嵌套定义&#xff1a; 1) 函数fn2想要直接使用fn1函数的局部变量&#xff0c;可以将fn…