你的位置:首页 > Java教程

[Java教程]20151118小问题


1.模板引擎

百度百科:模板引擎(这里特指用于Web开发的模板引擎)是为了使 用户界面与业务数据(内容)分享而产生的,它或以生成特定格式的文档,用于网站的模板引擎就会产生一个标准的HTML文档.

目的:生成一个标准的HTML文档.

概念:模板引擎不属于特定技术领域,它是跨领域跨平台的概念.在Asp下有模板引擎,在PHP下也有模板引擎,在c#下也有模板引擎,基础javascript,winform开发都会用到模板引擎技术.

原理:模板引擎的实现方式有很多,最简单的是"转换型"模板引擎,这类模板引擎只是将指定模板内容(字符串)中特定标记(子字符串)替换一下便生成了最终需要的业务数据(比如网页).

转换型模板引擎实现简单,但其效率低下,无法满足高负载的应用需求(比如有少量访问珠网站),因此还出现了"解释型"模板引擎和"编译型"模板引擎等.

模板引擎可以让(网站)程序实现界面与数据分享,这就大大提升了开发效率,良好孤设计也使得代码重用变得更加容易.

我们司空见惯的模板安装卸载等概念,基本上都和模板引擎有关千丝万缕的联系.模板不只是可以让你实现代码分离(业务逻辑代码和用户界面代码),也可以实现数据分离(动态数据和静态数据),还可以实现代码单元共享(代码重用),基至是多语言,动态页面和静态页面自动均衡(SDE)等等与用户界面可能没有关系的功能.

相关推荐:

Smarty:Smarty的特点是将模板编译成PHP脚本,然后执行这些脚本。很快,非常灵活。是一个模板类,一般也简称为模板。Smarty里面有专门的模板引擎。模板的主要功能就是逻辑与显示的分离,也就是PHP和HTML的分离。

Heyes Template Class:一个非常容易使用,但功能强大并且快速的模板引擎,它帮助你把页面布局和设计从代码中分离。
FastTemplate:一个简单的变量插值模板类,它分析你的模板,把变量的值从HTML代码中分离处理。
ShellPage:一个简单易用的类,可以让你的整个网站布局基于模板文件,修改模板就能改变整个站点。

STP Simple Template Parser:一个简单、轻量级并且易于使用的模板分析类。它可以从多个模板中组装一个页面,把结果页面输出到浏览器或者文件系统。

OO Template Class:一个你可以用在自己程序中的面向对象的模板类。
SimpleTemplate:一个可以创建和结构化网站的模板引擎。它可以解析和编译模板。

 

2.Json

百度百科:JSON(javascript object notation)是一种轻量级的数据交换格式.它基于ECMAScript的一个子集.json采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C,C++,C#,Java,JavaScript,Perl,Python等).这些特性使json成为理想的数据交换语言.易于人阅读和编写,同时民易于机器解析和生成(一般用于提升网络传输速率).

json语法是javascript对象表示语法的子集,数据在键值对中,数据由逗号分隔,花括号保存对象,方括号保存数组.

json数据的书写格式是:名称/值对(也只可以说成键值对)

名/值对组合中的名称写在前面(在双引号中),值对写在后面(同样在双引号中),中间用冒号隔开,也就是说不管名称还是值都要用双引号引起来,而且只能是双引号,不能是单引号.

json值可以是任何类型,包括number,string,boolen,array,object,null,undefined

有两种格式,花括号{}或方括号[].

用户在网页上书写的内容一般是以json字符串的形式传到后台的,后台拿到这个字符串不能直接使用,需要转化为对象形式才能使用,可以用JSON.parse()把json字符串转换成相对应的json对象.

为了更直观的了解json,可以看下面的代码

var json1='{"user":"honghong","age":38,"job":"CEO"}';  var json2='["feng",20,"Programmer"]';  var parseJSON=JSON.parse(json1,function(key,value){    if(key==="user") value="huahua";    console.log(key);//user age job    return value;  });  console.log(parseJSON);//Object{user:"huahua",age:38,job:"CEO"}  var parseArr=JSON.parse(json2);  console.log(json1);//{user:"huahua",age:38,job:"CEO"}  console.log(typeof json1);//string  console.log(parseJSON.user);//huahua  console.log(json2);//["feng",20,"Programmer"]  console.log(typeof json2);