主页:http://www.cnblogs.com/EasonJim/p/6958992.html的分支页。

一、<fmt:formatNumber>

<fmt:formatNumber>标签用于格式化数字,百分比和货币。

属性:

<fmt:formatNumber>标签具有如下所示属性:

属性 描述 是否必需 默认值
value 显示的数值
type 数值、货币或百分比 数值
pattern 为输出指定一个自定义格式模式
currencyCode Currency代码(for type="currency") 来自默认语言环境
currencySymbol Currency符号(for type="currency") 来自默认语言环境
groupingUsed 是否将数值分组(TRUE or FALSE) true
maxIntegerDigits 输出的整数位数的最大值
minIntegerDigits 输出的整数位数的最小值
maxFractionDigits 输出的小数位数的最大值
minFractionDigits 输出的小数位数的最小值
var 存储格式化数字的变量名 页面输出
scope 存储格式化数字的变量范围 页面
  • 如果type属性是百分比或数字,那么可以使用一些数字-格式化属性。maxIntegerDigits和minIntegerDigits属性允许指定数字的非小数部分的大小。如果实际数字超过了maxIntegerDigits,那么数字就会被截断。

  • 属性同样允许确定使用多少为小数。minFractionalDigits和maxFractionalDigits属性允许指定小数位数。如果数字超过了小数位数的最大值,那么数字就会被截断。

  • 分组可以用来在成千上万组之间插入逗号。通过将groupingIsUsed属性设置为真或假来指定分组。当分组与minIntegerDigits一起使用时,必须多加小心来得到预想的结果。

  • 可能会选择使用pattern属性。该属性可以包含特殊字符,指定有多喜欢编码的数字。下表展示了这些代码。
Symbol Description

0

代表了一个数字。

E

代表了指数形式。

#

代表一个数字;显示0为缺席。

.

作为十进制分隔符的一个占位符。

,

作为分组分隔符的一个占位符。

;

分隔形式

-

作为默认的负数前缀。

%

乘以100并作为百分比显示。

?

乘以1000并作为千分比显示。

¤

代表了货币符号; 被动态的货币符号取代。

X

表明任何其他可以用作前缀或后缀的字符。

'

用于在前缀或后缀中引用特殊字符。

实例:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %><html>
<head><title>JSTL fmt:formatNumber Tag</title>
</head>
<body>
<h3>Number Format:</h3>
<c:set var="balance" value="120000.2309" />
<p>Formatted Number (1): <fmt:formatNumber value="${balance}" type="currency"/></p>
<p>Formatted Number (2): <fmt:formatNumber type="number" maxIntegerDigits="3" value="${balance}" /></p>
<p>Formatted Number (3): <fmt:formatNumber type="number" maxFractionDigits="3" value="${balance}" /></p>
<p>Formatted Number (4): <fmt:formatNumber type="number" groupingUsed="false" value="${balance}" /></p>
<p>Formatted Number (5): <fmt:formatNumber type="percent" maxIntegerDigits="3" value="${balance}" /></p>
<p>Formatted Number (6): <fmt:formatNumber type="percent" minFractionDigits="10" value="${balance}" /></p>
<p>Formatted Number (7): <fmt:formatNumber type="percent" maxIntegerDigits="3" value="${balance}" /></p>
<p>Formatted Number (8): <fmt:formatNumber type="number" pattern="###.###E0" value="${balance}" /></p>
<p>Currency in USA :
<fmt:setLocale value="en_US"/>
<fmt:formatNumber value="${balance}" type="currency"/></p>
</body>
</html>

这将会产生如下所示结果:

二、<fmt:parseNumber>

<fmt:parseNumber>标签用于解析数字、百分比和货币。

属性:

<fmt:parseNumber>标签具有如下所示属性:

属性 描述 是否必需 默认值
value 要读取(解析)的数值 Body
type 数字、货币或百分比 数字
parseLocale 解析数字时使用的语言环境 默认语言环境
integerOnly 解析一个整数(true)还是解析一个浮点数(false) false
pattern 自定义解析模式
timeZone 显示日期的时区 默认的时区
var 存储解析数字的变量名 页面输出
scope 存储格式化数字的变量范围 页面

提供的pattern属性的工作方式与<fmt:formatNumber>标签的pattern属性类似。然而,在解析的情况中,pattern属性告诉解析器想要什么格式。

实例:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %><html>
<head><title>JSTL fmt:parseNumber Tag</title>
</head>
<body>
<h3>Number Parsing:</h3>
<c:set var="balance" value="1250003.350" /><fmt:parseNumber var="i" type="number" value="${balance}" />
<p>Parsed Number (1) : <c:out value="${i}" /></p>
<fmt:parseNumber var="i" integerOnly="true" type="number" value="${balance}" />
<p>Parsed Number (2) : <c:out value="${i}" /></p></body>
</html>

这将会产生如下所示结果:

三、<fmt:formatDate>

<fmt:formatDate>标签用于以多种方式格式化日期。

属性:

<fmt:formatDate>标签具有如下所示属性:

属性 描述 是否必需 默认值
value 显示的日期值
type 日期、时间或两者 日期
dateStyle FULL,LONG,MEDIUM,SHORT,或默认 默认
timeStyle FULL,LONG,MEDIUM,SHORT,或默认 默认
pattern 自定义格式化模式
timeZone 显示的日期时区 默认的时区
var 存储格式化日期的变量名 页面输出
scope 存储格式化日期的变量范围 页面

pattern属性指定了更精确地日期处理:

代码 目的 示例

G

时代指示器

AD

y

2002

M

April & 04

d

一个月中的某一天

20

h

时间(12-hour time)

12

H

时间(24-hour time)

0

m

分钟

45

s

52

S

毫秒

970

E

一周中的某一天

Tuesday

D

一年中的某一天

180

F

一个月中的某一周的某一天

2 (2nd Wed in month)

w

一年中的某一周

27

W

一个月中的某一周

2

a

a.m./p.m. 显示器

PM

k

时间(12-hour time)

24

K

时间(24-hour time)

0

z

时区

Central Standard Time

'

 

文本消逝

''

 

单引号

实例:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %><html>
<head><title>JSTL fmt:dateNumber Tag</title>
</head>
<body>
<h3>Number Format:</h3>
<c:set var="now" value="<%=new java.util.Date()%>" /><p>Formatted Date (1): <fmt:formatDate type="time" value="${now}" /></p>
<p>Formatted Date (2): <fmt:formatDate type="date" value="${now}" /></p>
<p>Formatted Date (3): <fmt:formatDate type="both" value="${now}" /></p>
<p>Formatted Date (4): <fmt:formatDate type="both" dateStyle="short" timeStyle="short" value="${now}" /></p>
<p>Formatted Date (5): <fmt:formatDate type="both" dateStyle="medium" timeStyle="medium" value="${now}" /></p>
<p>Formatted Date (6): <fmt:formatDate type="both" dateStyle="long" timeStyle="long" value="${now}" /></p>
<p>Formatted Date (7): <fmt:formatDate pattern="yyyy-MM-dd" value="${now}" /></p></body>
</html>

这将会产生如下所示的结果:

四、<fmt:parseDate>

<fmt:parseDate>标签用于解析日期。

属性:

<fmt:parseDate>标签具有如下所示属性:

属性 描述 是否必需 默认值
value 要读取(解析)的日期值 Body
type 日期、时间或两者 日期
dateStyle FULL,LONG,MEDIUM,SHORT,或默认 默认
timeStyle FULL,LONG,MEDIUM,SHORT,或默认 默认
parseLocale 解析日期时使用的语言环境 默认语言环境
pattern 自定义解析模式
timeZone 解析的日期的时区 默认的时区
var 存储解析日期的变量名 页面输出
scope 存储格式化日期的变量范围 页面

实例:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %><html>
<head><title>JSTL fmt:parseDate Tag</title>
</head>
<body>
<h3>Date Parsing:</h3>
<c:set var="now" value="20-10-2010" /><fmt:parseDate value="${now}" var="parsedEmpDate" pattern="dd-MM-yyyy" />
<p>Parsed Date: <c:out value="${parsedEmpDate}" /></p></body>
</html>

这将产生如下所示的结果:

五、<fmt:bundle>

<fmt:bundle>标签使指定的包对所有的出现在<fmt:bundle></fmt:bundle>标签之间的<fmt:message>标签是可用的。这可以节省额外的步骤为每个<fmt:message>标签指定资源包。

例如,下面的两个<fmt:bundle>块会产生相同的输出:

<fmt:bundle basename="com.jsoft.Example"><fmt:message key="count.one"/>
</fmt:bundle>
<fmt:bundle basename="com.jsoft.Example" prefix="count."><fmt:message key="title"/>
</fmt:bundle>

属性:

<fmt:bundle>标签具有如下所示属性:

属性 描述 是否必需 默认值
basename 指定了要被加载的资源包的基名。
prefix 在<fmt:message>子标签中预先考虑的每个键值名

实例:

资源包包含特定于本地语言环境的对象。资源包包含键/值对。当程序需要一个特定于本地语言环境的资源时,要把所有的键与所有的语言环境保持一致,但可以有特定于语言环境的转换值。资源包中帮助提供特定于语言环境的内容。

一个Java资源包文件包含一系列key-to-string映射。关注的方法包括创建扩展java.util.ListResourceBundle类的编译后的Java类。必须编译这些类文件并使其可用于Web应用程序的类路径中。

定义一个默认的资源包,如下所示:

package com.jsoft;
import java.util.ListResourceBundle;
public class Example extends ListResourceBundle {public Object[][] getContents() {return contents;}static final Object[][] contents = {{"count.one", "One"},{"count.two", "Two"},{"count.three", "Three"},};
}

编译上述类Example.class并确保它在Web应用程序中的类路径中时可用的。现在可以使用下面的JSTL标签来显示三个数字,如下所示:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<html>
<head>
<title>JSTL fmt:bundle Tag</title>
</head>
<body><fmt:bundle basename="com.jsoft.Example" prefix="count."><fmt:message key="one"/><br/><fmt:message key="two"/><br/><fmt:message key="three"/><br/>
</fmt:bundle></body>
</html>

这会产生如下所示的结果:

在不带前缀的情况下尝试上述例子,如下所示:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<html>
<head>
<title>JSTL fmt:bundle Tag</title>
</head>
<body><fmt:bundle basename="com.jsoft.Example"><fmt:message key="count.one"/><br/><fmt:message key="count.two"/><br/><fmt:message key="count.three"/><br/>
</fmt:bundle></body>
</html>

这会产生如下所示的结果:

六、<fmt:setLocale>

<fmt:setLocale>标签用于在语言环境配置变量中存储给定的语言环境。

属性:

<fmt:setLocale>标签具有如下所示属性:

属性 描述 是否必需 默认值
value 指定了一个两部分代码,代表ISO-639语言代码和ISO-3166国家代码。 en_US
variant 浏览器特定的变量
scope 语言环境配置变量的范围 页面

实例:

资源包包含特定于本地语言环境的对象。资源包包含键/值对。当程序需要一个特定于本地语言环境的资源时,要把所有的键与所有的语言环境保持一致,但可以有特定于语言环境的转换值。资源包中帮助提供特定于语言环境的内容。

一个Java资源包文件包含一系列key-to-string映射。关注的方法包括创建扩展java.util.ListResourceBundle类的编译后的Java类。必须编译这些类文件并使其可用于Web应用程序的类路径中。

定义一个默认的资源包,如下所示:

package com.jsoft;import java.util.ListResourceBundle;public class Example extends ListResourceBundle {public Object[][] getContents() {return contents;}static final Object[][] contents = {{"count.one", "One"},{"count.two", "Two"},{"count.three", "Three"},};
}

现在再定义一个资源包,使用西班牙语:

package com.jsoft;import java.util.ListResourceBundle;public class Example_es_ES extends ListResourceBundle {public Object[][] getContents() {return contents;}static final Object[][] contents = {{"count.one", "Uno"},{"count.two", "Dos"},{"count.three", "Tres"},};
}

编译上述类Example.class和Example_es_ES.class,确保它们在Web应用程序中的类路径中是可用的。现在可以使用下面的JSTL标签来显示三个数字,如下所示:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<html>
<head>
<title>JSTL fmt:setLocale Tag</title>
</head>
<body><fmt:bundle basename="com.jsoft.Example"><fmt:message key="count.one"/><br/><fmt:message key="count.two"/><br/><fmt:message key="count.three"/><br/>
</fmt:bundle><!-- Change the Locale -->
<fmt:setLocale value="es_ES"/>
<fmt:bundle basename="com.jsoft.Example"><fmt:message key="count.one"/><br/><fmt:message key="count.two"/><br/><fmt:message key="count.three"/><br/>
</fmt:bundle></body>
</html>

这将产生如下所示结果:

七、<fmt:setBundle>

<fmt:setBundle>标签用于加载资源包,并把它存储在已命名的给定范围的变量中或存储在包配置变量中。

属性:

<fmt:setBundle>标签具有如下所示属性:

属性 描述 是否必需 默认值
basename 资源包家族的基本名称,作为一个给定范围的变量或配置变量来显示
var 存储新包的变量名 取代默认值
scope 存储新包的变量范围 页面

实例:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<html>
<head>
<title>JSTL fmt:setBundle Tag</title>
</head>
<body><fmt:setLocale value="en"/>
<fmt:setBundle basename="com.jsoft.Example" var="lang"/><fmt:message key="count.one" bundle="${lang}"/><br/>
<fmt:message key="count.two" bundle="${lang}"/><br/>
<fmt:message key="count.three" bundle="${lang}"/><br/></body>
</html>

这将产生如下所示结果:

八、<fmt:timeZone>

<fmt:timeZone>标签用于指定所有标签主体内用到的时区。

属性:

<fmt:timeZone>标签具有如下所示属性:

属性 描述 是否必需 默认值
value 应用于主体的时区

实例:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<html><head><title>JSTL fmt:timeZone Tag</title></head><body><c:set var="now" value="<%=new java.util.Date()%>" /><table border="1" width="100%"><tr><td width="100%" colspan="2" bgcolor="#0000FF"><p align="center"><b><font color="#FFFFFF" size="4">Formatting:<fmt:formatDate value="${now}" type="both" timeStyle="long" dateStyle="long" /></font></b></p></td></tr><c:forEach var="zone" items="<%=java.util.TimeZone.getAvailableIDs()%>"><tr><td width="51%"><c:out value="${zone}" /></td><td width="49%"><fmt:timeZone value="${zone}"><fmt:formatDate value="${now}" timeZone="${zn}" type="both" /></fmt:timeZone></td></tr></c:forEach></table></body>
</html>

这将产生如下所示结果:

九、<fmt:setTimeZone>

<fmt:setTimeZone>标签用于将时区对象复制到指定的范围变量中。

属性:

<fmt:setTimeZone>标签具有如下所示属性:

属性 描述 是否必需 默认值
value 作为给定范围的变量或配置变量显示的时区
var 存储新时区的变量名 取代默认值
scope 存储新时区的变量范围 页面

实例:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<html>
<head>
<title>JSTL fmt:setTimeZone Tag</title>
</head>
<body>
<c:set var="now" value="<%=new java.util.Date()%>" />
<p>Date in Current Zone: <fmt:formatDate value="${now}" type="both" timeStyle="long" dateStyle="long" /></p>
<p>Change Time Zone to GMT-8</p>
<fmt:setTimeZone value="GMT-8" />
<p>Date in Changed Zone: <fmt:formatDate value="${now}" type="both" timeStyle="long" dateStyle="long" /></p>
</body>
</html>

这将产生如下所示的结果:

十、<fmt:message>

<fmt:message>标签将键映射到本地化的消息中并执行参数替换。

属性:

<fmt:message>标签具有如下所示属性:

属性 描述 是否必需 默认值
key 要检索的消息键 Body
bundle 使用的资源包 默认包
var 存储本地化消息的变量名 页面输出
scope 存储本地化消息的变量范围 页面

实例:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<html>
<head>
<title>JSTL fmt:message Tag</title>
</head>
<body><fmt:setLocale value="en"/>
<fmt:setBundle basename="com.jsoft.Example" var="lang"/><fmt:message key="count.one" bundle="${lang}"/><br/>
<fmt:message key="count.two" bundle="${lang}"/><br/>
<fmt:message key="count.three" bundle="${lang}"/><br/></body>
</html>

这将会生成如下所示结果:

十一、<fmt:requestEncoding>

<fmt:requestEncoding>标签用于指定编码类型,该编码类型用于将数据传回到Web应用程序的表单中。

属性:

<fmt:requestEncoding>标签具有如下所示属性:

属性 描述 是否必需 默认值
key 当解码请求参数时,想要应用的字符编码的名称

当想要为从表单发送的解码数据指定字符编码时,就会用到< fmt:requestEncoding >标签。该标签必须和与ISO-8859-1不同的字符编码一起使用。由于大多数浏览器在它们的请求中不包括内容类型的头信息,所以这个标签是必需的。

<fmt:requestEncoding>标签的目的是指定请求的内容类型。必须指定内容类型,即使页面编码生成的响应式通过页面指令的内容类型属性指定的。这是因为响应的实际语言环境(以及字符编码)可能与页面指令中指定的值不同。

如果页面包含一个I18N-capable格式化操作,通过调用ServletResponse.setLocale()设置了响应的语言环境(以及字符编码),任何在页面指令中指定的编码都将被覆盖。

实例:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<html>
<head>
<title>JSTL fmt:message Tag</title>
</head>
<body><fmt:requestEncoding value="UTF-8" />
<fmt:setLocale value="es_ES"/>
<fmt:setBundle basename="com.jsoft.Example" var="lang"/><fmt:message key="count.one" bundle="${lang}"/><br/>
<fmt:message key="count.two" bundle="${lang}"/><br/>
<fmt:message key="count.three" bundle="${lang}"/><br/></body>
</html>

这将产生如下所示的结果:

转载于:https://www.cnblogs.com/EasonJim/p/6958983.html

JSTL-格式标签库相关推荐

  1. JSTL 核心标签库标签共有13个

    JSTL 核心标签库标签共有13个,功能上分为4类: 1.表达式控制标签:out.set.remove.catch 2.流程控制标签:if.choose.when.otherwise 3.循环标签:f ...

  2. JSP~~JSTL~~XML标签库

    XML 提供了非常灵活的方式来表示结构化的数据,可以创建自己的标记来识别数据,不仅仅人可以看懂,而且计算机也可以读懂.并且 XML 可以在不兼容的系统之间进行数据的交换,所以 XML 必定将称为最普遍 ...

  3. 早起的鸟儿有虫吃-JSTL核心标签库[收藏]

    介绍 JSTL 全名为Java Server Pages Standard Tag Library(JSP Standard Tag Library),它的中文名称为JSP 标准标签函数库. Web  ...

  4. ⑤早起的鸟儿有虫吃-JSTL核心标签库[收藏]

    介绍 JSTL 全名为Java Server Pages Standard Tag Library(JSP Standard Tag Library),它的中文名称为JSP 标准标签函数库. Web  ...

  5. 深入分析JavaWeb Item21 -- JSTL核心标签库

    一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码. 1.1 使用方法 外包项目, ...

  6. EL表达式和JSTL标准标签库

    一.EL表达式 什么是EL表达式 EL(Express Lanuage)表达式可以嵌入在jsp页面内部 减少jsp脚本的编写 EL出现的目的是要替代jsp页面中脚本的编写. EL表达式的作用 EL最主 ...

  7. JSP→JSTL标准标签库简介与环境搭建、JSTL助手EL表达式EL隐式对象、标签→out、set、if、多选择配合、foreach、redirect、格式化、JSTL函数标签、自定义标签、标签类架构

    JSTL标准标签库简介与环境搭建 EL表达式与EL隐式对象 out标签 set标签 remove标签 catch标签 if标签 choose.when.otherwise配合标签 foreach标签 ...

  8. 06.JSTL(基本标签库)

    06.JSTL(基本标签库) 1.JSTL 概述: (JavaServer Page Strandard Tag Linrary):JSP标准标签库 是由Java社区所定制的,提供给JavaWeb开发 ...

  9. java的jstl的标签库_java_jstl 标签库

    jstl标签库的使用以及介绍 jstl:jsp标准标签库,是jsp的标签集合,它里面封装了jsp通用的核心功能,比如:建构化的任务,迭代,条件判断,xml 文档的操作,国际化标签,sql标签,还提供框 ...

  10. Eclipse配置jstl标准标签库详解

    安装JSTL1.2 日期:2017-06-27 下载jstl1.2版本,下载地址:http://repo2.maven.org/maven2/javax/servlet/jstl/ 用压缩包打开jst ...

最新文章

  1. 苹果手机怎么设置时间24小时制_8款手机电池测试,iPhone 12 5G让人意外
  2. 使用Maven构建Dubbo服务的可运行jar包
  3. python 如何编写图像标定(标记)(annotation)画框程序?
  4. mysql 避免重复添加_MySql三种避免重复插入数据的方法
  5. Spring MVC中@ControllerAdvice注解实现全局异常拦截
  6. json转为tfrecord格式文件怎么转_怎么把pdf转换成jpg图片?pdf转图片格式的方法很好用...
  7. Qt学习笔记(十九):QTreeWidget 的常用方法
  8. 转载-史密斯(smith)圆图讲解-基础内容
  9. 开发老铁们,就参考这个图灵畅销新书书单加购!
  10. IPwe区块链智能池利用AI来处理专利分析
  11. idea全局搜索替换快捷键
  12. 基于layui的省市镇三级联动js
  13. pc端支付宝扫码支付
  14. 去除 华军 恶心的广告验证码
  15. Android apps 拍立知-基于百度Ai的图像识别与tts语音合成(介绍)
  16. Unity3D研究院之异步加载游戏场景与异步加载游戏资源进度条(三十一)
  17. 文件查重FindDupFile
  18. 去除下拉框上向下的箭头
  19. 电脑最容易出现的各种故障问题,应该这样应对问题
  20. Python字典合并方法大全

热门文章

  1. iis php5.3 mysql_IIS7.5+PHP5.3+MYSQL5.5
  2. java8 多行字符串_JDK8字符串拼接的正确姿势
  3. 递归实现组合型枚举(搜索)
  4. 持久化存储技术之本地存储
  5. java 有序不重复_Java中自定义有序不重复的集合——SetList
  6. Jupyter notebook最简原型界面设计 - ipywidgets与lineup_widget
  7. 前端知识天天学(4)
  8. possible SYN flooding on port 3690 Sending cookies
  9. 【1】windows下IOS开发基础环境搭建
  10. mysql 聚集函数 count 使用详解