jetbrick-template模板语言解析数据

项目中,组装接口的请求报文和解析返回报文时,用到了模板语言jetbrick-template。

1. 请求报文拼装

如:需要拼装的请求报文格式如下:

那么在后台组装好对象后,可以通过模板取值从而拼接固定格式的报文

2. 响应报文解析

如:发送请求报文成功后,部分返回报文如下,需要对<response>节点下的数据进行解析

主要节点属性

这时需要配置解析模板

需要注意的是:返回报文<response>节点下主要节点属性共有6个,采用上面的解析模板,只有返回全部6个节点的信息时(即返回报文中<response> <record> </record></response>节点中包含了全部6个标签),模板才能全部解析,而在实际情况下,返回报文中只包含查询有值的节点,对于查询无值的节点,如返回示例报文中,只查询到5个节点的值,并未包含<RYPOSPER>节点,这样会导致模板解析报文时获取不到值,解析报错。

这样的返回报文是接口提供方的不严谨导致,即使查询不到值,也应该返回一个空节点(如:<RYPOSPER></RYPOSPER>)来的,在反馈的同时,我也在思考是否有种方法可以解决空节点的问题,答案是将这6个节点的上级节点封装为一个map,通过遍历来解析其包含的所有的值,这样即使返回值只有一个节点,也能顺利解析,同时有效控制了“,”的拼接。

原文地址:https://www.cnblogs.com/zjfjava/p/10212078.html

时间: 2024-10-03 16:38:46

jetbrick-template模板语言解析数据的相关文章

template模板语言

模板渲染 通过views视图函数对html页面进行渲染 标签{{ 变量 }}/标签 {% 逻辑 %} -- 标签 万能的点 <h1>91李业网</h1> <h2>{{ name }}</h2> <h2>{{ d1.items }}</h2> <h2>我是"{ {{ l1.1 }} }"</h2>#三个括号必须加空格 <h2>{{ num }}</h2> <h2&

《开源框架那点事儿23》:Tiny模板语言(VelocityPlus)初步入门

2 Tiny模板语言概述 3 Tiny模板语言能为您做什么? 4 Tiny模板语言简介 5 Hello Tiny! 6 注释 7 引用(References) 7.1 变量(variables) 7.2 属性(properties) 7.3 方法(methods) 8 表达式(Expression) 8.1 取值表达式 8.2 Map常量 8.3 数组常量 8.4 其他表达式 9 索引表示法 10 渲染 11 与Java无缝对接 12 模板布局 13 指令集 13.1 #set指令 13.2 条

Tiny模板语言(VelocityPlus)初步入门

1 关于用户手册 本文主要介绍如何在模板中使用Tiny模板语言,通过查阅本手册,可以对Tiny模板语言 TTL(Tiny Template Language)的用法有一个较全面的认识,并学会如何有效地使用Tiny模板语言.同时,本文提供了较多的例子帮您来学习并掌握它. 2 Tiny模板语言概述 Tiny 模板语言是一个参考Velocity语法的模板语言,它对Velocity模板语言中一些功能不太完全及使用过程中比较不方便的地方进行全面的扩展和升级,同时为了更好的适应Web界面层的开发,还提供了强

Django中模板总结[模板语言,模板继承,CSRF攻击,反向解析]

模板 概述 作为Web框架,Django提供了模板,用于编写html代码,还可以嵌入模板代码更快更方便的完成页面开发,再通过在视图中渲染模板,将生成最终的html字符串返回给客户端浏览器.模版致力于表达外观,而不是程序逻辑.模板的设计实现了业务逻辑view与显示内容template的分离,一个视图可以使用任意一个模板,一个模板可以供多个视图使用. 创建模板文件夹 在项目的文件里面定义一个templates文件夹 在创建的文件夹里面再创建一个文件夹为每个应用的html文件夹 起名为和应用名同名的文

Django模板系统(Template System)——之模板语言1

本篇介绍几个通用标签: 1.if标签:{% if %}...{% endif %} 2.for标签:{% for %}...{% endfor %} 3.比较标签:{% ifequal/ifnotequal %}...{% endifequal/endifnotequal %} 4.注释标签:{% comment %}...{% endcomment %} 模板 是一个纯文本文件,或是一个用Django模板语言标记过的普通的Python字符串. 模板可以包含模板标签和变量.       模板标签

【Java模板语言】TinyTemplate 实战 &lt;一&gt;:Serlvet集成

Writer      :BYSocket(泥沙砖瓦浆木匠) 一.什么是TinyTemplate 什么是模板语言? 模板语言是为了使用户界面与业务数据(内容)分离而产生的,并能生成特定格式的文档. 什么是TinyTemplate?(开源项目地址入口) Tiny模板引擎是一个基于Java技术构建的模板引擎,它具有体量小.性能高和扩展易的特点. 适合于所有通过文本模板生成文本类型内容的场景,如:XML.源文件.HTML等等,可以说,它的出现就是为了替换Velocity模板引擎而来,因此在指令集上在尽

discuz 模板标签解析

Discuz! X 模板的解析主要是 ./source/class/class_template.php 文件解析处理的,如果需要深入了解请可以看看这个文件! 模板嵌套语法 将被嵌套模板内容解析为 PHP 语句并合并入本模板中的写法<!--{subtemplate common/header}-->common/header 对应某个模板套系中的 common 目录的 header.html 模板文件 程序运行时include嵌套模板内容<!--{template common/head

django 模板语言

Django的模板语言的目的是取得力量和易用性之间的平衡,与其他的模板语言相比,django模板语言显得更简单,更专一, django模板系统由模板,变量,过滤器,标签,注释等主要部分组成 模板 一个模板是一个简单的文本文件,它可以生成任何基于文本的格式,html,csv,xml等等 模板里面包含变量,过滤器,标签和注释,下面是一个简单的模板文件 {% extends "base_generic.html" %} {% block title %}{{ section.title }}

phpcms V9 首页模板文件解析(转)

转自:http://www.cnblogs.com/Braveliu/p/5100018.html 转在了解了<phpcms V9 URL访问解析>之后,我们已经知道首页最终执行的是content模块下index控制器的init方法. 下面, 我们逐步分析过程如下: 第一.首页默认执行的是index.php?m=content&c=index&a=init 如下代码(路径:phpcms\modules\content\index.php),先从init函数分析: 1 class