`
javatar
  • 浏览: 1700737 次
  • 性别: Icon_minigender_1
  • 来自: 杭州699号
社区版块
存档分类
最新评论

JSON标准元数据定义描述语言的思考

    博客分类:
  • HTTL
阅读更多
最近在为XX速运公司做项目预研时, 为简化B/S开发, 需将Ext封装成Jsp Taglib,
网上已有多种封装方案, 如: exttld, 以及金蝶将Ext封装成JSF标签等,
公司原也有一套封装, 但文档不全且不太稳定, 所以决定重新封装,
通过三天的努力已基本稳定, 感谢所有开发人员的速度,
我们采用和exttld相似的与Ext一对一封装, 这样做学习成本较低, 灵活性较强(不会出现实现不了某功能), 文档也可以采用Ext已有的, 当然也对数据传输层进行了简化,
另外这样封装比较简单, 不易出太多BUG, 易于稳定, 也是现在快速封装的目标.

一阵忙碌后, 今天静下心来想了一下, 我们为什么封装?
Ext本身已经采用JSON配置方式进行了简化, 而我们做的只是转换.
最大的理由是TagLib在Jsp编辑时有自动提示, 以及静态错误检查.
因为没人记得清那些JSON配置, 而"ALT+/"是最好的提示方式.
不用打开浏览器查错也是Java开发人员期望的.

想到这, 那是不是JSON缺了什么, 导致这样无畏的转译工作?
是的, JSON缺标准的元数据定义. XML为什么能自动提示? 为什么能查错?
因为XML有DTD, 有XSD. 那为什么不给JSON也定义一套呢?
如果给JSON定义了描述语言, IDE会非常易结合,
JSON现在越来越流行, 其比XML更简洁, 便于传输,
C/S开发也开始采用JSON风格, 如: JavaFX等.
而标准的元数据定义有助于更统一, 更方便的使用.
不知有没有这样的标准在开始, 如果没有, 或许可以发起开源, 大家试着定义一套.
分享到:
评论
7 楼 forefront 2008-09-04  
请问楼主,你们的java项目是使用Ext GWT 1.0还是ext js 2.2来做的封装?
6 楼 tin555 2008-04-23  
QQ:52328075
5 楼 tin555 2008-04-23  
我也下了一个exttld,但是老是报错。你能帮我看看是怎么回事吗?
org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 47 in the jsp file: /WEB-INF/tags/ext/util/processTagAttributes.tag
Generated servlet error:
Syntax error on token "<", ( expected

An error occurred at line: 47 in the jsp file: /WEB-INF/tags/ext/util/processTagAttributes.tag
Generated servlet error:
Syntax error, insert ")" to complete Expression

An error occurred at line: 47 in the jsp file: /WEB-INF/tags/ext/util/processTagAttributes.tag
Generated servlet error:
Syntax error on token "<", ( expected

An error occurred at line: 47 in the jsp file: /WEB-INF/tags/ext/util/processTagAttributes.tag
Generated servlet error:
Syntax error on token "(", invalid Expression

.........


我的email:tin_555@163.com
4 楼 sp42 2008-03-18  
json.org上好象有人在搞类似的工作。
3 楼 fins 2008-03-18  
能否把你们封装的共享一下呀 嘿嘿
2 楼 javatar 2008-03-17  
JavaInActoin 写道
想法不错,不过这样一搞,不又把json搞回成xml了么。

json与xml的区别并不在于描述语言的存在, 无所谓变成xml,
元数据定义可以是外置的, 对JSON并不侵入,
并且描述语言最好采用宿主语言, 也就是用JSON语法定义JSON描述语言,
就像XSD定义XML, 而XSD本身也是XML一样.
1 楼 JavaInActoin 2008-03-17  
想法不错,不过这样一搞,不又把json搞回成xml了么。

相关推荐

    1st-repository

    在Jupyter Notebook中,文件通常以.ipynb为扩展名,这些文件包含了代码单元格、文本注释、输出结果以及元数据。用户可以通过运行单元格来执行代码,观察即时结果,这对于探索性编程和数据可视化非常有用。这些...

    Elm_TempVerify

    - `elm.json`: 项目配置文件,定义了依赖关系和其他元数据。 - `index.html`: 应用的 HTML 入口文件,引入 Elm 生成的 JavaScript 代码。 为了深入了解 Elm_TempVerify,我们需要查看具体的源代码和文档。不过,从...

    30k-crx插件

    在技术实现上,扩展程序通常包括以下几个部分:manifest.json文件(定义扩展的元数据和权限)、背景脚本(持续运行,处理与浏览器的交互)、内容脚本(与网页内容交互)以及可能的HTML和CSS文件(用于创建用户界面)...

    智能机器人

    - `package.json`:项目依赖和元数据的描述文件。 通过这些组件,我们可以构建出一个完整的智能奖励机器人系统,利用JavaScript的强大功能,为用户提供高效、个性化的互动体验,并自动化奖励的分配过程。

    mod06-quiz:MiradaX课程第6单元的练习测验

    4. 数据文件(JSON或其他格式):存储测验的问题、答案和相关元数据。 5. 可能还有示例代码或解决方案文件,供学员参考或对照。 通过这个测验,学员不仅能够检测自己的编程技能,还能了解到实际项目中如何运用...

    ZHSUPJ-RootCode:只是另一个存储库

    5. **package.json**:Node.js项目中常见的文件,定义了项目的元数据和依赖关系。 6. **node_modules**:如果项目使用了npm(Node包管理器)来管理依赖,这里会包含所有安装的外部模块。 7. **.gitignore**:列出在...

    sunjiaqi456.github.io:hexo

    文章通常以Markdown或HTML格式存储在_posts子目录下,每篇文章都有一个特定的YAML头部,用于定义元数据,如标题、日期和分类。 3. **配置文件(_config.yml)**:这是Hexo的主要配置文件,包含了网站的全局设置,如...

    MyBlog

    此外,博客可能还包含了配置文件(如config.json或database.ini),用于设置博客的元数据或连接到数据库。如果博客支持多篇文章,那么可能有一个文章数据库,存储每篇博客的标题、内容、作者信息、发布时间等。为了...

    NSS花

    - `package.json`:定义了项目依赖和元数据,如版本、作者和脚本命令。 - `src`目录:包含了项目的源代码,可能按功能或组件划分为多个子目录。 - `public`目录:存放静态资源,如CSS、图片和HTML。 - `tests`目录:...

    Chrome_Extension:Chrome_Extension

    1. **manifest.json**:这是每个Chrome扩展的核心文件,它定义了扩展的元数据(如扩展名、版本号)、权限、以及加载的脚本和文件等。 2. **JavaScript** 文件:扩展的逻辑通常由JavaScript编写,包括处理用户交互、...

    good-quotes:谷歌浏览器扩展用励志名言替换新标签

    1. `manifest.json`:这是Chrome浏览器扩展的配置文件,定义了扩展的元数据(如名称、版本、权限等),以及扩展的入口点和行为。 2. `background.js`:背景脚本,用于处理扩展的持久化逻辑,例如监听新标签页的打开...

    pyljy.github.io:LJY的个人博客

    7. **SEO优化**:为了提高博客的搜索引擎可见性,LJY可能在HTML头部添加了元标签,如`&lt;meta&gt;`标签,或者使用了如JSON-LD的结构化数据。 8. **评论系统**:为了促进交流,LJY可能集成了一种评论系统,如Disqus或...

Global site tag (gtag.js) - Google Analytics