- 浏览: 529604 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (294)
- Java基础 (40)
- 架构分析 (37)
- 开发心得 (22)
- 架构乐园 (12)
- Java Web (6)
- 大牛专区 (5)
- 转载专区 (40)
- 小技巧 (16)
- Linux专区 (8)
- linux (3)
- Spring (2)
- N (1)
- 前台JS (1)
- SAP NETWEAVER (3)
- JMS (4)
- queue (1)
- 数据模型 (2)
- oracle (2)
- sqlserver (2)
- ubuntu (2)
- install gcc (1)
- MEMCACHED (2)
- SQLSERVER 驱动 (1)
- JVM GC 调优 (1)
- 服务器运维 (1)
- activiti 国际化 中文 (1)
- activiti (1)
- 前端开发 (1)
- tar.gz (1)
- Web安全 (1)
- CSRF (1)
- 技术架构 (4)
- 性能指标 (1)
- 响应时间 (1)
- 淘宝 (1)
- linux安装 (1)
- lucene (1)
- Mongodb (1)
- gis (1)
- 微信授权 code access_token open_id (1)
- Redis java 获取 (1)
- HTTP 跨域 同源策略 cookie (1)
- java 加密 3DES (1)
- CROS (1)
- Cookie (1)
- Rest (1)
- 跨域资源共享 (1)
- 3DES (1)
- Effective java读后感 (1)
- nginx (1)
- Tengine 开发 (1)
- HTTP/1.1 废弃 javaWEB (1)
- 支付宝 支付状态 (1)
- maven jdk (1)
- 应用宝统一链接 (1)
- git (2)
- git 代码上传 (1)
- ubuntu 安装 mysql 5.6 (1)
- Linux 命令学习 (3)
- Linux 命令 60 (2)
- linux 命令 (2)
- linux nginx 安装 (1)
- grant revoke (1)
- linxu jdk profile (1)
- git 使用 (1)
- 架构设计 (1)
- 上海居转户 居转户 (1)
- wind (1)
- elastic-job (1)
- Mysql (1)
- 个人站点 (1)
- nginx lua waf 实现 (1)
- github 算法指南 (1)
- go (1)
- MapReduace 大数据 (1)
- 架构PPT (1)
最新评论
-
jingchh:
帅哥, 这个类是哪个包下面的呢? 应该下载哪个jar包,谢谢~ ...
StringUtils工具类的常用方法 -
Nabulio:
StringUtils工具类的常用方法 -
yuanyuan2597:
那请问,按照你的方法进行修改调用。SELECT locatio ...
根据经纬度实现附近搜索Java实现 -
yangguo:
这个经理有病,埋伏打他一顿。
复试 等电话 -
emparadise329:
进一步学习了子类与父类间的关系
Java 子类对象实例化 面试题
JSTL 主要的标签分类:
1,核心标签库 c:
2, SQL标签库 sql
3, XML标签库 xml
4, 函数标签库 fn
5,I18N格式标签库 fmt
1,web.xml 中配置:
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <display-name>Welcome to Tomcat</display-name> <description> Welcome to Tomcat </description> <jsp-config> <taglib> <taglib-uri>http://www.mldn.cn/jstl/core</taglib-uri> <taglib-location>/WEB-INF/c.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://www.mldn.cn/jstl/fmt</taglib-uri> <taglib-location>/WEB-INF/fmt.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://www.mldn.cn/jstl/fn</taglib-uri> <taglib-location>/WEB-INF/fn.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://www.mldn.cn/jstl/core</taglib-uri> <taglib-location>/WEB-INF/c.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://www.mldn.cn/jstl/sql</taglib-uri> <taglib-location>/WEB-INF/sql.tld</taglib-location> </taglib><taglib> <taglib-uri>http://www.mldn.cn/jstl/x</taglib-uri> <taglib-location>/WEB-INF/x.tld</taglib-location> </taglib> </jsp-config> </web-app>
一,核心标签库
1, 基本标签 <c:out> 输出属性内容
<c:set> 设置属性内容
<c:remove> 删除指定属性
<c:catch> 异常处理
2,流程控制标签 <c:if> 条件判断
<c:choose> 多条件判断 ,可以设置<c:when>和<c:otherwise>标签
3,迭代标签 <c:forEach> 输出数组,集合
<c:forTokens> 字符串拆分及输出操作
4,包含标签 <c:import> 将一个指定的路径包含到当前页进行显示
5,生成URL标签 <c:url> 根据路径和参数生成一个新的RUL
6,客户端跳转 <c:redirect> 客户端跳转
1.1 <c:out > 例子
<%@ page contentType="text/html" pageEncoding="GBK"%> <%@ taglib prefix="c" uri="http://www.mldn.cn/jstl/core"%> <html> <head> <title>www.MLDNJAVA.cn</title> </head> <body> <% pageContext.setAttribute("info","<www.baidu.com>"); %> <h3>属性存在: <c:out value="${info}"/></h3> <h3>属性不存在:<c:out value="${ref}" default="没有此内容!"/></h3> <h3>属性不存在:<c:out value="${ref}">没有此内容!</c:out></h3> </body> </html>
1.2 <c:set>例子
<%@ page contentType="text/html" pageEncoding="GBK"%> <%@ taglib prefix="c" uri="http://www.mldn.cn/jstl/core"%> <html> <head> <title>www.MLDNJAVA.cn</title> </head> <body> <c:set var="info" value="hello mldn!" scope="request"/> <h3>属性内容:${info}</h3> </body> </html>
1.3, <c:remove var="属性名称" [scope="[page|request|session|application]"] />
<%@ page contentType="text/html" pageEncoding="GBK"%> <%@ taglib prefix="c" uri="http://www.mldn.cn/jstl/core"%> <html> <head> <title>www.MLDNJAVA.cn</title> </head> <body> <c:set var="info" value="hello mldn!" scope="request"/> <c:remove var="info" scope="request"/> <h3>属性内容:${info}</h3> </body> </html>
1.4, <c:catch> 处理异常操作,
<%@ page contentType="text/html" pageEncoding="GBK"%> <%@ taglib prefix="c" uri="http://www.mldn.cn/jstl/core"%> <html> <head> <title>www.MLDNJAVA.cn</title> </head> <body> <c:catch var="errmsg"> <% int result = 10 / 0; %> </c:catch> <h3>异常信息:${errmsg}</h3> </body> </html>
1.6, <c:if> 判断标签
<c:if test="判断条件" var="存储判断结构" [scope="[page|request|session|application]"] />
<%@ page contentType="text/html" pageEncoding="GBK"%> <%@ taglib prefix="c" uri="http://www.mldn.cn/jstl/core"%> <html> <head> <title>www.MLDNJAVA.cn</title> </head> <body> <% pageContext.setAttribute("num",10); %> <c:choose> <c:when test="${num == 10}"> <h3>num属性的内容是 10!</h3> </c:when> <c:when test="${num == 20}"> <h3>num属性的内容是 20!</h3> </c:when> <c:otherwise> <h3>没有一个条件满足!</h3> </c:otherwise> </c:choose> </body> </html>
1.7, <c:forEach>标签的主要功能为循环控制,可以将集合中的成员进行迭代输出,功能与Iterator接口类似,语法如下:
<c:forEach [var="每一个对象的属性名称"] items="集合" [varStatus="保存相关成员信息"] [begin="集合的开始输出位置"] [end="集合的结束输出位置"] [step="每次增长的步长"] >
具体的操作代码
</c:forEach>
实例:
<%@ page contentType="text/html" pageEncoding="GBK"%> <%@ taglib prefix="c" uri="http://www.mldn.cn/jstl/core"%> <html> <head> <title>www.MLDNJAVA.cn</title> </head> <body> <% String info[] = {"hubvdo","3433333","www.baidu.com"}; pageContext.setAttribute("ref",info); %> <h3>输出全部: <c:forEach items="${ref}" var="mem"> ${mem}, </c:forEach> </h3> <h3>输出全部(间隔为2): <c:forEach items="${ref}" var="mem" step="2"> ${mem}, </c:forEach> </h3> <h3>输出前两个: <c:forEach items="${ref}" var="mem" begin="0" end="1"> ${mem}, </c:forEach> </h3> </body> </html>
map循环:
<%@ page contentType="text/html" pageEncoding="GBK"%> <%@ page import="java.util.*"%> <%@ taglib prefix="c" uri="http://www.mldn.cn/jstl/core"%> <html> <head> <title>www.MLDNJAVA.cn</title> </head> <body> <% Map map = new HashMap(); map.put("zhangsan","www.baidu.com"); map.put("lisi","www.llcuckcat.com"); map.put("zhouss","这是一个测试程序"); pageContext.setAttribute("ref",map); %> <c:forEach items="${ref}" var="mem"> <h3>${mem.key} --> ${mem.value}</h3> </c:forEach> </body> </html>
3,<c:forTokens> :更像是String类中的split()方法和循环输出的一种集合,标签的语法如下:
<c:forTokens items="输出的字符串" delims="字符串分隔符" [var="存放每一个字符串变量"] [varStatus="存放当前对象的相关信息"]
[begin="输出位置"] [end="结束位置"] [step="输出间隔"]>
标签体内容
</c:forTokens>
<%@ page contentType="text/html" pageEncoding="GBK"%> <%@ page import="java.util.*"%> <%@ taglib prefix="c" uri="http://www.mldn.cn/jstl/core"%> <html> <head> <title>www.MLDNJAVA.cn</title> </head> <body> <% String info="www.BAIDU.com"; pageContext.setAttribute("ref",info); %> <h3>拆分结果为: <c:forTokens item="${ref}" delims="." var="con"> ${con}, </c:forTokens> </h3> <h3>拆分结果为: <c:forTokens item="Hi:Zhou:Lei" delims=":" var="con"> ${con}, </c:forTokens> </h3> </body> </html>
1.9, <c:import>标签:包含的时候只能包含文字,图片类的基本无法包含。
<c:redirect>标签,
<c:redirect url="跳转的地址" context="上下文路径" >
<c:param name="参数名称" value="参数内容"/>
</c:redirect>
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
国际化标签:
1, 国际化标签 <fmt:setLocale> 设置一个全局的地区代码
<fmt:requestEncoding> 设置统一的请求编码
2, 信息显示标签 <fmt:bundle> 设置临时的腰读取资源文件的名称
<fmt:message> 通过key取得value,通过<fmt:param>向动态文本中设置内容
3, 数字及日期格式化 <fmt:formatNumber> 格式化数字
<fmt:parseNumber> 反格式化数字
<fmt:formatDate> 格式化日期,将日期变为字符串
<fmt:parseDage> 反格式化日期,将字符串变为日期
<fmt:setTimeZone> 设置一个全局的时区
<fmt:timeZone> 设置一个临时的时区
<%@ page contentType="text/html" pageEncoding="GBK"%> <%@ page import="java.util.*"%> <%@ taglib prefix="fmt" uri="http://www.mldn.cn/jstl/fmt"%> <html> <head> <title>www.MLDNJAVA.cn</title> </head> <body> <% pageContext.setAttribute("date",new Date()); %> <h3>中文日期显示为: <fmt:setLocale value="zh_CN"/> <fmt:formatDate value="${date}"/> </h3> <h3>英文日期显示为: <fmt:setLocale value="en_US"/> <fmt:formatDate value="${date}"/> </h3> </body> </html>
2.1 <fmt:requestEncoding value="GBK"/>
在所有国际化程序中最重要的部分就是资源文件的读取,所有的资源文件就是*.properties 文件,文件应该
保存在 classpath之中,所以直接在 /WEB-INF/class 中建立即可.
2.2 数字格式化
<fmt:formatNumber>标签的属性:
1, value 要格式化的数字
2, type 指定格式化的形式,例如:数字,货币,百分比,默认是数字
3, pattern 要格式化数字的格式
4, currencyCode 货币编号(ISO 4217编码),例如:人民币(CNY), 美元(USD)
5, currencySymbol 显示的货币符号,例如:Y或$
6, groupingUsed 是否在数字中加","
7, maxIntegerDigits 可以显示的最大整数位
8, minIntegerDigits 可以显示的最小整数位
9, maxFractionDigits 可以显示的最大小数位
10 , minFractionDigits 可以显示的最小小数位
11, var 保存已格式化完的数字的属性名称
12, scope var变量的保存范围,默认是page范围
<%@ page contentType="text/html" pageEncoding="GBK"%> <%@ page import="java.util.*"%> <%@ taglib prefix="fmt" uri="http://www.mldn.cn/jstl/fmt"%> <html> <head> <title>www.MLDNJAVA.cn</title> </head> <body> <fmt:formatNumber value="351874.4587458" maxIntegerDigits="7" maxFractionDigits="3" groupingUsed="true" var="num"/> <h3>格式化数字: ${num}</h3> <fmt:formatNumber value="351874.4587458" pattern="##.###E0" var="num"/> <h3>科学计数法: ${num}</h3> </body> </html>
<%@ page contentType="text/html" pageEncoding="GBK"%> <%@ page import="java.util.*"%> <%@ taglib prefix="fmt" uri="http://www.mldn.cn/jstl/fmt"%> <html> <head> <title>www.MLDNJAVA.cn</title> </head> <body> <% pageContext.setAttribute("dateref",new Date()); %> <fmt:formatDate value="${dateref}" type="both" dateStyle="default" timeStyle="default" var="date"/> <h3>default显示日期时间:${date}</h3> <fmt:formatDate value="${dateref}" type="both" dateStyle="short" timeStyle="short" var="date"/> <h3>default显示日期时间:${date}</h3> <fmt:formatDate value="${dateref}" type="both" pattern="yyyy年MM月dd日 HH时mm分ss秒SSS毫秒" var="date"/> <h3>自定义显示日期时间: ${date}</h3> </body> </html>
设置时区:<fmt:setTimeZone>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
sql标签库: <sql:query ..> 执行查询命令的,
<sql:setDataSource dateSource="jdbc/zzz"
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
XML标签库:
1,核心操作 <x:out> 输出XPath指定的内容
<x:parse var="" doc="">
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
函数标签库:相当于String中的函数
1, ${fn:contains()} 查询某字符串是否存在,区分大小写
2 ${fn:containsIgnoreCase()} 查询某字符串是否存在,忽略大小写
3, ${fn:startsWith()} 判断是否以指定的字符串开头
4, ${fn:endsWiths()} 判断是否以指定的字符串结尾
5, ${fn:toUpperCase()} 全部转为大写显示
6, ${fn:toLowerCase()} 全部转为小写显示
7, ${fn:substring()} 字符串截取
8, ${fn:split()} 字符串拆分
9, ${fn:join()} 字符串连接
10, ${fn:escapeXml()} 将<,>,",'等转换成转义字符
11, ${fn:trim()} 去掉左右空格
12, ${fn:replace()} 字符串替换操作
13, ${fn:indexOf()} 查找指定的字符串位置
14, ${fn:substringBefore()} 截取指定字符串之前的内容
15, ${fn:substringAfter()} 截取指定字符串之后的内容
发表评论
-
eclipse 插件式安装 maven
2016-06-02 16:46 610以下为补充内容: 由于Maven项目地址经常变动,以上ma ... -
HTTP 接口设计指南
2016-01-12 15:04 3967# HTTP 接口设计指北 * 文档主要目的是为设计 ... -
IP 查询开放API
2015-10-12 19:57 970今天项目要用到 查询访问网站用户的IP 然后网上查询了 资料还 ... -
mysql 获取全局唯一值
2015-08-27 13:16 934在涉及数据库存储数据的时候,经常会遇到唯一值问题,有的是主键 ... -
freemarker 数字输出中的逗号问题
2015-08-17 11:50 1637分类: Freemarker2012-04-23 1 ... -
redis cli 客户端连接
2015-07-27 15:31 984Last login: Mon Jul 27 15:31:4 ... -
oracle 链接查询 + Mysql
2015-06-25 19:52 440oracle连接加号(+)的使用方法 假设有 a表 ... -
java中Comparator 时间比价 bug
2015-06-05 14:37 870/** * 消息上架时间排序<br> * @ ... -
MySQL 建立索引
2015-05-05 09:16 778索引是一种特殊的数据结构,可以用来快速查询数据库的特定记录, ... -
[DB][MySql]关于取得自增字段的值、及@@IDENTITY 与并发性问题
2015-04-07 12:43 1570对于刚从Oracle转向MySql的人都会为,MySql中没 ... -
POI 合并单元格
2014-12-25 10:01 1130在用poi在EXECL报表设计的时候,遇到单元格合并问题,用 ... -
两个相同结构表 数据的 对复制
2014-12-09 17:43 806insert into TRP_MEMBER_RECOMMEN ... -
文章主要是介绍DB2取得当前时间的正确解析,如果你是DB2取得当前时间的内容解析,如果你是这方面的新手,对DB2取得当前时间的正确解的相关实际应用不是很了解的话
2013-09-26 19:05 753文章主要是介绍DB2取得当前时间的正确解析,如果你是DB2取 ... -
Lucene 3.X 自定义排序
2013-09-18 16:26 1286Lucene 3.X 自定义排序 发表于 2012 年 ... -
DB2时间函数
2013-08-12 20:11 2642DB2时间函数 DB2时间函数简单总结: ... -
linux 新建用户、用户组 以及为新用户分配权限
2013-08-07 19:14 942linux 新建用户、用户组 以及为新用户分配权限 P ... -
Lucene的分页查询
2013-08-06 16:05 840Lucene的分页查询 Posted on 2012- ... -
lucene3.0_IndexSearcher的基础使用及注意事项
2013-08-06 15:05 950lucene3.0_IndexSearcher的基础使用及注 ... -
ibatis db2 insert模板
2013-05-07 20:32 1141iBatis and DB2 INSERT statemen ... -
DB2 -创建用户和组,数据库
2013-05-06 18:05 72281、增加一个操作系统用户 groupadd test--- ...
相关推荐
这是一款纯前端的一款生成器小程序源码 该小程序源码无需服务器和域名,也无需设置合法域名 该小程序里面的生成样式多样化有很多种 不过小编在测试该款小程序的时候,打开有部分生成的界面是空白可能是小编打开的...
综上所述,XeTeX中文排版之胡言乱语这篇文章主要强调了XeTeX在处理中文排版时的优势。XeTeX不仅支持Unicode字体,让中文排版变得更为简便,还提供了丰富的排版控制命令和强大的宏包支持,从而大大增强了文档处理的...
【优化版胡言乱语生成器小程序源码】是一个针对微信小程序开发的项目,它包含了一整套用于生成随机、无固定意义语句的源代码。这个小程序源码旨在为用户提供娱乐性的体验,通过程序算法生成各种“胡言乱语”,用户...
cdecl - C 乱码到乱码英语 这个简单的程序是 Kernighan 和 Ritchie 的《C 编程语言》第 5 章末尾建议的 C 声明解析器的实现,其中添加了一些 C99 声明并更加注意语法错误。 声明以简化的方式形式化,递归语法由以下...
这是一款纯前端的一款生成器小程序源码 打开有部分生成的界面是空白有可能是之前那款的问题 所以小编今天就重新发布一款,新增加了N款多样化的模板 另外也优化了之前那款的多种问题 该小程序源码无需服务器和域名...
在IT行业中,我们经常遇到各种有趣的项目,"gibberish-language-blog"就是一个这样的例子,它专注于探索和创建“胡言乱语”或“秘密语言”。这个项目是Gibberish Umbra的一个分支,旨在通过编程和技术手段来构建一个...
这是一款纯前端的一款生成器小程序源码 该小程序源码无需服务器和域名 该小程序里面的生成样式多样化有很多种 不过小编在测试该款小程序的时候,打开有部分生成的界面是空白可能是小编打开的方式不对吧 ...
这是一款纯前端的一款生成器小程序源码 该小程序源码无需服务器和域名,也无需设置合法域名 该小程序里面的生成样式多样化有很多种 不过小编在测试该款小程序的时候,打开有部分生成的界面是空白可能是小编打开的...
这是一款纯前端的一款生成器小程序源码 该小程序源码无需服务器和域名,也无需设置合法域名 该小程序里面的生成样式多样化有很多种 不过小编在测试该款小程序的时候,打开有部分生成的界面是空白可能是小编打开的...
胡言乱语生成器微信小程序源码/在线取名等支持流量主收益 这是一款纯前端的一款生成器小程序源码该小程序源码无需服务器和域名,也无需设置合法域名该小程序里面的生成样式多样化有很多种不过小编在测试该款小程序...
这是一款纯前端的一款生成器小程序源码 在之前小编也发布过一款类似小程序 不过之前那款小编以前在测试的时候 打开有部分生成的界面是空白有可能是之前那款的问题 所以小编今天就重新发布一款,新增加了N款多样化...
这是一款纯前端的一款生成器小程序源码 在之前小编也发布过一款类似小程序 不过之前那款小编以前在测试的时候 打开有部分生成的界面是空白有可能是之前那款的问题 所以小编今天就重新发布一款,新增加了N款多样化...
优化版胡言乱语生成器小程序源码
这道逻辑推理题并不难,但Chat-GPT显然CPU被干烧了,开始胡言乱语: 在胡言乱语的Chat-GPT 不过,这种逻辑题已经难不倒最新推出的GPT-4了。它不仅给出了正确答案,而且完整解释了自己的推理过程。 这说明,GPT-4...
【标准南通话发音大全】是一份详尽记录南通方言的文档,主要包含了南通地区特有的词汇和表达方式。南通话作为吴语的一种,有着独特的语音特点和丰富的俚语文化。以下是一些关键知识点: 1. **词汇与表达**: - **...
文字分析 概述 该API是使用Spark Framework和Maven构建的。 我过去曾经使用过SpringBoot,但是想尝试一下新的东西。 我能够实现5个端点中的3个。... 目前,像“ asdfjkl”这样的胡言乱语会通过,因
优化版胡言乱语生成器微信小程序源码,这是一款纯前端的一款生成器小程序源码。 在之前小编也发布过一款类似小程序,不过之前那款小编以前在测试的时候,打开有部分生成的界面是空白有可能是之前那款的问题。 所以...
这款小程序源码的独特之处在于它完全独立于服务器和域名,用户在开发和部署时无需配置复杂的合法域名设置,降低了入门门槛,特别适合初学者和想要快速搭建小程序的开发者。 首先,让我们深入了解一下这个小程序源码...
胡言乱语生成器微信小程序源码在线取名等支持流量主收益.zip
胡言乱语生成器微信小程序源码在线取名等支持流量主收益.txt