Java进阶SQL函数、网页定时刷新与自定义JSTL函数
一、SQL函数
能够在SQL语句中调用的函数(方法) ,用来实现一些小功能
聚合函数
能够把多行数据聚合成一个值(统计)
count() 计数,计算数据条数
max() 计算最大值
main() 计算最小值
avg() 计算平均值
sum() 计算总和
Group_cancat 用 , 连接多个数据
运行实例 SELECT GROUP_CONCAT(name) FROM goods 如图
数学函数
字符串函数
concat(str1,str2,str3,.....)
concat_ws(分隔符,str1,str2,str3,.....)使用分隔符连接多个字符串
注意:如果连接数据不是字符串类型,则有可能在低版本的Mysql中产生乱码
解决的方法时使用Convert(列名,char)函数将非字符串数据转换成字符串
left(str1,n) 取前n个字符
right(str1,n) 取后n个字符
substring(str1,p,n) 截取子字符串,p开始位置,从1开始,n表示个数
子查询
语法: select .....,(select....from
表名 where 条件)列别名 from表名
通过子查询可以避免多次查询数据库,从而提高性能
实例:
SELECT
o.*,
(SELECT GROUP_CONCAT(CONCAT_WS('*',g.`name`,oi.count)) from order_item oi
LEFT JOIN goods g ON oi.goods_id = g.goods_id
WHERE oi.order_id = o.order_id) order_item
from `order` o
日期时间函数
其他函数
二、实现网页定时刷新
方法1:通过JS的定时器实现
setTimeout(function(){
Location.reload(); //刷新当前页面
},60*1000)
setTimeout的第一个参数是一个函数,它在时间到达时执行!
第二个参数指定到达时间,单位是毫秒ms
方法2:通过meta标签实现
”>
60秒刷新页面
使用场景
图文直播、数据实时展示(股票、天气、时间、倒计时)
三、JSTL的SET标签
<c:set var = “要赋值的变量名” vlaue=”要赋的值” scope=”变量的作用域” />
JSTL的四大作用域(scope的取值范围)
request 表示一次请求,作用时间(从接到请求到发出响应,几ms)
session 表示一次会话,从“登录”《只要Session启用就算》到退出,作用时间(几分钟到几十分钟)
page 表示一个Servlet对象(虽然存在的时间很长,但是不能跨页面)
application 表示一个应用(从应用创建到关闭,全局可用-----即跨页面----作用范围最广)
jQuery
$(“#photo”)
相当于调用了jQuery对象的构造函数,创建一个jQuery对象
$===jQuery 所有上面的代码相当于jQuery(“#photo”)
jQuery是一个函数,并且是一个构造函数
jQuery对象是一个容器,相当于java中的list
在这个容器中可以包含多个HTML标签对象
$(筛选器).change(func); 变化事件
$(筛选器).click(func); 点击事件
当事件发生时,会调用func函数---------事件驱动编程
jQuery 会监听容器中所有标签元素的事件
四、JS中的Console对象
用来向浏览器的控制台输出日志,类似于Java中的Logger对象
也支持分级输出日志
console.error()
console.warn()
console.info()
console.log()
console.debug()
五、如何自定义JSTL函数
1.创建一个类,在类中创建静态方法,通常需要返回String类型,目的是向页面输出内容
A)也有返回int或boolean或String[]数组的情况,通常是传给JSTL标签使用(函数是在JSTL标签的属性中使用的、嵌套)
实例演示:如图创建了一个ZYTLFunction的类
2.创建---tld文件,这个文件通常放在WEB-INF中,名字通常包含版本号。
A) zytl-fn-1_0.tld,
实例演示:创建zytl-fn-1_0.tld随机获取列表中的项(1_0代表是1.0版本)
B) 一个tld文件中通常定义同一类别的多个标签或函数(标签和函数分开到不同文件中定义)
C)一个tld(标签库定义文件)会有一个唯一URL(可以随意编写)和前缀与之关联
D)创建tld的时候,最简单的方法,也是最后的方法:从JSTL官方jar包中拆出来一个进行修改,而不要自己写。
3.在web.xml中通过<jsp-config>下的<taglib>注册一下tld,如果不注册会出现tld既不在jar中,也不在web.xml中的错误提示
实例演示:如图在web.xml中的配置
4.在jsp文件中的声明与使用
实例演示:如图具体的使用
对一门技能掌握程度:
了------用-------熟-------精-------专
Java进阶SQL函数、网页定时刷新与自定义JSTL函数的更多相关文章
- 权限管理之基于ACL的实现:自定义JSTL函数实现即时认证
实现即时认证(即只有拥有相应的权限,才能做相应的操作) 经常用在,在JSP页面上,调用JSTL自定义函数做判断,显示相应的菜单或者功能按钮,比如只有管理员登陆时才显示“删除”按钮,从而完成权限的即时认 ...
- 自定义JSTL函数标签(一)
jstl标签库的配置 * 将jstl.jar和standard.jar拷贝到WEB-INF/lib下(如果使用el表达式,不用拷贝这两个jar) 注意:jstl必须在能够支持j2ee1.4/servl ...
- SQL实现类似于自动刷新数据的功能
有时需要在SQL中,定时刷新某张表,比如说是要定时查询某张表的行数,通常做法就是手动的按F5去执行来刷新数据.但是如果这个定时查询历时较长,10分钟,或半小时,手动的话肯定是要崩溃了.貌似SQL没有像 ...
- 自定义JSTL标签和函数库
一.自定义JSTL标签 1.编写标签处理类: (1)实现 SimpleTag 接口,通过 setJspContext()方法可以获取到 jspContext 对象,实际上也是 pageContext ...
- 自己定义JSTL函数
因为 jstl 函数 字符串替换不支持正則表達式 所以想用java String的 replaceAll进行替换 须要自己定义 jstl函数 首先写类 package com.salesmanb2b. ...
- Matlab中如何将(自定义)函数作为参数传递给另一个函数
假如我们编写了一个积分通用程序,想使它更具有通用性,那么可以把被积函数也作为一个参数.在c/c++中,可以使用函数指针来实现上边的功能,在matlab中如何实现呢?使用函数句柄--这时类似于函数指针的 ...
- JavaScript中作用域回顾(避免使用全局变量)(瀑布流的实现)(scroll事件)以及Django自定义模板函数回顾
页面显示照片样式为瀑布流: 上面的div个数可以按照自己安排进行划分.img的分布可以使用模板标签以及自定义模板函数进行排布: 自定义模板函数实现可以看,最后几列:python---django中模板 ...
- weex 项目开发(五)自定义 过滤函数 和 混合 及 自定义 Header 组件
1.自定义 过滤函数 src / filters / index.js /** * 自定义 过滤函数 */ export function host (url) { if (!url) return ...
- response常见应用、response细节、输出随机图片、定时刷新网页
response常见应用 向客户端输出中文数据 分别以OutputStream和PrintWriter输出 多学一招:使用HTML语言里面的<meta>标签来控制浏览器行为 思考:用O ...
随机推荐
- 对象.delegate=self的理解
整理自:http://www.cocoachina.com/ask/questions/show/87430 各位大神,对象.delegate=self是啥意思,委托的意思不就是自己的任务交给其他人去 ...
- Django rest_framework 认证源码流程
一.请求到来后,都要先执行dispatch方法 dispatch根据请求方式的不同触发get/post/put/delete等方法 注意,APIView中的dispatch方法有很多的功能 def d ...
- Android中<uses-sdk>属性和target属性分析
1. 概要 <uses-sdk> 用来描述该应用程序可以运行的最小和最大API级别,以及应用程序开发者设计期望运行的平台版本.通过在manifest清单文件中添加该属性,我们可以更好的控制 ...
- 在eclipse上Checkstyle的安装和使用
1. 概述 随着中心的代码规范的建立和实施,项目组对代码规范要求,以及软件工程师们对自身代码的编写规范重要性的认知,“代码规范”已经成为了中心的一个“热词”.然后怎么才能写出有规范的代码,怎么才能养成 ...
- [C++]红色波浪线是什么意思
相关资料:https://zhidao.baidu.com/question/242005953.html 问题现象:在写C++代码时,写的注释都是红色波浪线. 问题原因:波浪线表示 词语拼写错误 字 ...
- jQuery+html5实现的3D动态切换焦点轮播幻灯片
今天爱编程给网友们分享一款基于jQuery+html5实现的3D动态切换焦点轮播幻灯片,支持左右箭头和圆点按钮播放控制,支持多种不同的3D动态切换特效,自适应全屏显示,兼容360.FireFox.Ch ...
- 方程式漏洞之复现window2008/win7 远程命令执行漏洞
前几天就想写的,因为一些缘故就没写.此次是在外网环境下进行的.大家在内网中也一个样. 方法: 使用Eternalblue模块,剑测是否有漏洞然后msf生成一个dll直接反弹shell. PS:win版 ...
- 搭建自己的GitHub Pages
本文记录博主使用Win 10操作系统和Jekyll 3.1.2搭建GitHub Pages的过程.希望能帮助到相同有需要的朋友. 基本需求 GitHub账号及一个命名为{GitHub昵称}.githu ...
- JAVA数据库连接池的革命 -- 从BoneCP到HikariCP
从BoneCP到HikariCP 今天笔者本想更新一下项目中使用到的BoneCP版本的.却无意发现jolbox网站打不开了.起初以为是被墙掉了,经过一番查找,居然在BoneCP的Github站看到了如 ...
- C#调用SQL Server有参的存储过程
一.使用SqlParameter的方式 代码: using System; using System.Collections.Generic; using System.ComponentModel; ...