1.EL表达式

  a.语法:

  1. <%pageContext.setAttribute("page","page") %>
  2.  
  3. ${page}

  b.适用:pageContext > request > session > application (优先级)

  c.隐式对象:pageScope、requestScope、sessionScope、applicationScope、pageContext、param、paramValues

  d.对象属性的获取:

  1. ${user.userName} //方法一
  2.  
  3. ${user['userName']} //方法二

2.自定义标签

  a.创建一个类

  1. public class MyTag extends TagSupport{
  2.  
  3. //重写doEndTag方法
  4. public int doEndTag() throws JspException{
  5. JspWriter out = pageContext.getOut();
  6. out.println("hello tag");
  7. return SKIP_BODY;
  8. }
  9. }

  b.建一个tld文件(WEB-INF)

  1. <tag>
  2. <name>hello</name>
  3. <tag-class>com.tag.MyTag</tag-class>
  4. </tag>

  c.使用

  1. <%@ taglib uri="lovo.myTag" prefix="m" %>
  2.  
  3. <m:hello></m:hello>

3.标准标签库

  a.引入:

  1. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

  b.set(声明变量)

  1. <c:set var="name" value="zhangsan"></c:set>

  c.out(输出)

  1. <c:out value="1"></c:out>

  d.if

  1. <c:if test="true">
  2. <!-- 执行语句 -->
  3. </c:if>

  e.choose(类似else if)

  1. <c:choose>
  2. <c:when test="${score>=80}">良好</c:when>
  3. <c:when test="${score>=60}">及格</c:when>
  4. <c:otherwise}">不及格</c:otherwise>
  5. </c:choose>

  f.forEach

    ①普通for循环

  1. <c:forEach var="i" begin="0" end="10" step="1" >
  2. ${i}
  3. </c:forEach>

    ②for-each

  1. <c:forEach var="user" items="${users}" >
  2. ${user.userName}
  3. </c:forEach>

4.格式化标签库

  a.引入

  1. <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>

  b.国际化资源标签

    ①建一个file,并命名为messages.properties,书写:

        userName = user name

       建一个file,并命名为messages_zh_CN.properties,书写:

        userName = 用户名

    ②使用

  1. <fmt:bundle basename="msessge">
  2. <fmt:message key="userName"/>
  3. </fmt:bundle>

  c.格式化数字、日期

    ①日期:

  1. <c:set var="now" value="<%=new java.util.Date()%>">
  2.  
  3. <fmt:formatDate value="${now}" type="time">
  4. <fmt:formatDate value="${now}" type="date">
  5. <fmt:formatDate value="${now}" type="both">
  6. <fmt:formatDate value="${now}" pattern="yyyy-MM-dd">

    ①数字:

  1. <fmt:setlocale value="zh_cn"/>
  2. <fmt:formatNumber value="13456.78"/>
  1. <fmt:formatNumber value="0.3" type="number"/>
  2. <fmt:formatNumber value="0.3" type="currenvy"/>
  3. <fmt:formatNumber value="0.3" type="percent"/>
  4. <fmt:formatNumber value="0.3" type=".00"/>
  5. <fmt:formatNumber value="0.3" type="###.##E0"/>

5.数据库标签库(不安全,不建议使用)

  a.引入

  1. <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>

  b.使用

  1. <sql:setDateSource driver="com.jdbc.mysql.Driver" url="jdbc:mysql://127.0.0.1:3306/test134" user="root" password="root"></sql:setDateSource>
  2.  
  3. <sql:query var="rs">select * from User<sql:query>

6.函数库(类似java中String的方法)

  a.引入

  1. <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>

  b.使用

  1. <c:set var="context" value="zxczvsqwqrqr">
  2.  
  3. <c:out value="${fn:substring(context,6,-1)}">

Java 之 Web前端(四)的更多相关文章

  1. 如何自学编程,零基础适合学习Java或者Web前端吗,非科班的能学java吗?

    很多人都会选择自学Java或者前端,相信有在校的大学生,有正在上班想转行的,也有已经在自学的.下面通过几个问题我来给大家分析学习编程的难易程度. 编程是什么? 通俗的理解,编程就是编写程序,哪什么是程 ...

  2. 从java到web前端再到php,一路走来的小总结

    java的学习: 初学者对Java的学习,上来的感觉都是比较难,感觉java的东西很多,如此多的类和接口.有时还弄不懂为啥实例化出一个int空数组为什么数组中默认都是0,实例化一个空字符串数组时(St ...

  3. Java与Web前端发展前景及薪资对比

    Web前端和Java谁的薪资待遇高?关于这个问题,是很多网友都感兴趣的,在各大论坛贴吧上也看到了不少类似的问题. 现在的互联网行业飞速发展,因此有很多小伙伴想要进入IT行业分一杯羹,但是关于学习什么技 ...

  4. Java 之 Web前端(一)

    1.http a.定义:超文本传输协议 b.作用:web服务器与web浏览器之间通信 c.步骤: ①客户端与web服务器建立连接(IP地址与端口号) ②客户端发送http请求(请求资源路径) ③服务器 ...

  5. Java 之 Web前端(三)

    1.JSP a.全称:Java Server Page b.运行:翻译.编译.类装载.类实例化.(初始化.服务.销毁 (这三点为Servlet的生命周期)) 2.JSP的基本组成 a.HTML模板 注 ...

  6. Java 之 Web前端(二)

    1.Cookie (客户端所拥有) a.含义:服务器给浏览器的甜点 b.语法: //创建Cookie Cookie cookie = new Cookie("name", &quo ...

  7. 零基础如何学习Java和web前端

    今天说一下零基础到底能不能学习Java,为什么有的人说学不了呢,那么接下来我为大家揭晓,零基础到底适合不适合学习Java. 零基础学习Java的途径第一个就是看视频,然后就是看书,或者在线下报个培训班 ...

  8. Java 之 Web前端(六)

    1.AJAX a.定义:异步的 JS 和 XML b.作用:不重新加载页面的情况下,与服务器的数据进行交互,改变网页的部分内容 c.语法: <html> <head> < ...

  9. Java 之 Web前端(五)

    1.过滤器 a.定义:是一个中间组件,用于拦截源数据和目的数据之间的消息,并过滤二者之间传递的数据 b.步骤: ①建class继承Filter实现抽象方法 public class EncodingF ...

随机推荐

  1. Java jvisualvm 远程监控tomcatt

    第一步 在远程tomcat 的bin目录下的start.sh 文件中添加一些内容(添加在exec "$PRGDIR"/"$EXECUTABLE" start & ...

  2. Confluence 6 Oracle 测试你的数据库连接

    在你的数据库设置界面,有一个 测试连接(Test connection)按钮可以检查: Confluence 可以连接你的数据库服务器 数据库的字符集编码是否正确 你的数据库用户是否具有需要的权限 你 ...

  3. 整合 JIRA 和 Confluence 6

    Jira 应用和 Confluence 可以完全的整合在一起.在 Confluence 中收集你项目组成员的想法,知识和计划.在 Jira 中跟踪你的系统出现的问题,让这 2 个应用同时工作. 了解更 ...

  4. Confluence 6 链接到其他应用

    应用链接(Application Links)有时候也被称为 "AppLinks" 是一系列测插件能够允许你在 Atlassian  的应用中互相链接.链接 2 个应用能够允许你在 ...

  5. ionic3 极光推送

    参考网站:http://www.jianshu.com/p/eb8ab29329d9 遇到的问题是  执行以下命令一直报错 cordova plugin add https://github.com/ ...

  6. Tomcat解决中文乱码并部署项目

    1.在Tomcat下的server.xml中添加URIEncoding="UTF-8"(解决中文乱码的问题) 2.在Tomcat下的server.xml中添加<Context ...

  7. BeautifulSoup的基本用法

    # -*- coding:UTF-8 -*- from urllib import request from bs4 import BeautifulSoup import re import sys ...

  8. java多线程机制中的Thread和Runnable()区别

    1.java语言使用Thread类及其子类对象来表示线程,新建的一个线程声明周期中经历 新建.(声明一个线程,此时他已经有了相应的内存空间和其他资源),运行(线程创建之久就据用了运行的条件,一旦轮到使 ...

  9. ActiveSync 学习记录

    协议就是一种规范.它是高效团队协作的依据.有的人可能不爱看团队规范之类的文档,一方面是个人意识问题,另外也和文档的组织.协作的效果相关. 写好文档: 看好文档. 1. 处理XML转码 抓包后,发现邮件 ...

  10. Tomcat使用https

    # 用JDK自带的Keytool生成keystore文件keytool -genkey -alias tomcat -keyalg RSA -keypass Envisi0n -storepass E ...