Java 之 Web前端(四)
1.EL表达式
a.语法:
<%pageContext.setAttribute("page","page") %> ${page}
b.适用:pageContext > request > session > application (优先级)
c.隐式对象:pageScope、requestScope、sessionScope、applicationScope、pageContext、param、paramValues
d.对象属性的获取:
${user.userName} //方法一 ${user['userName']} //方法二
2.自定义标签
a.创建一个类
public class MyTag extends TagSupport{ //重写doEndTag方法
public int doEndTag() throws JspException{
JspWriter out = pageContext.getOut();
out.println("hello tag");
return SKIP_BODY;
}
}
b.建一个tld文件(WEB-INF)
<tag>
<name>hello</name>
<tag-class>com.tag.MyTag</tag-class>
</tag>
c.使用
<%@ taglib uri="lovo.myTag" prefix="m" %> <m:hello></m:hello>
3.标准标签库
a.引入:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
b.set(声明变量)
<c:set var="name" value="zhangsan"></c:set>
c.out(输出)
<c:out value="1"></c:out>
d.if
<c:if test="true">
<!-- 执行语句 -->
</c:if>
e.choose(类似else if)
<c:choose>
<c:when test="${score>=80}">良好</c:when>
<c:when test="${score>=60}">及格</c:when>
<c:otherwise}">不及格</c:otherwise>
</c:choose>
f.forEach
①普通for循环
<c:forEach var="i" begin="0" end="10" step="1" >
${i}
</c:forEach>
②for-each
<c:forEach var="user" items="${users}" >
${user.userName}
</c:forEach>
4.格式化标签库
a.引入
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
b.国际化资源标签
①建一个file,并命名为messages.properties,书写:
userName = user name
建一个file,并命名为messages_zh_CN.properties,书写:
userName = 用户名
②使用
<fmt:bundle basename="msessge">
<fmt:message key="userName"/>
</fmt:bundle>
c.格式化数字、日期
①日期:
<c:set var="now" value="<%=new java.util.Date()%>"> <fmt:formatDate value="${now}" type="time">
<fmt:formatDate value="${now}" type="date">
<fmt:formatDate value="${now}" type="both">
<fmt:formatDate value="${now}" pattern="yyyy-MM-dd">
①数字:
<fmt:setlocale value="zh_cn"/>
<fmt:formatNumber value="13456.78"/>
<fmt:formatNumber value="0.3" type="number"/>
<fmt:formatNumber value="0.3" type="currenvy"/>
<fmt:formatNumber value="0.3" type="percent"/>
<fmt:formatNumber value="0.3" type=".00"/>
<fmt:formatNumber value="0.3" type="###.##E0"/>
5.数据库标签库(不安全,不建议使用)
a.引入
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
b.使用
<sql:setDateSource driver="com.jdbc.mysql.Driver" url="jdbc:mysql://127.0.0.1:3306/test134" user="root" password="root"></sql:setDateSource> <sql:query var="rs">select * from User<sql:query>
6.函数库(类似java中String的方法)
a.引入
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
b.使用
<c:set var="context" value="zxczvsqwqrqr"> <c:out value="${fn:substring(context,6,-1)}">
Java 之 Web前端(四)的更多相关文章
- 如何自学编程,零基础适合学习Java或者Web前端吗,非科班的能学java吗?
很多人都会选择自学Java或者前端,相信有在校的大学生,有正在上班想转行的,也有已经在自学的.下面通过几个问题我来给大家分析学习编程的难易程度. 编程是什么? 通俗的理解,编程就是编写程序,哪什么是程 ...
- 从java到web前端再到php,一路走来的小总结
java的学习: 初学者对Java的学习,上来的感觉都是比较难,感觉java的东西很多,如此多的类和接口.有时还弄不懂为啥实例化出一个int空数组为什么数组中默认都是0,实例化一个空字符串数组时(St ...
- Java与Web前端发展前景及薪资对比
Web前端和Java谁的薪资待遇高?关于这个问题,是很多网友都感兴趣的,在各大论坛贴吧上也看到了不少类似的问题. 现在的互联网行业飞速发展,因此有很多小伙伴想要进入IT行业分一杯羹,但是关于学习什么技 ...
- Java 之 Web前端(一)
1.http a.定义:超文本传输协议 b.作用:web服务器与web浏览器之间通信 c.步骤: ①客户端与web服务器建立连接(IP地址与端口号) ②客户端发送http请求(请求资源路径) ③服务器 ...
- Java 之 Web前端(三)
1.JSP a.全称:Java Server Page b.运行:翻译.编译.类装载.类实例化.(初始化.服务.销毁 (这三点为Servlet的生命周期)) 2.JSP的基本组成 a.HTML模板 注 ...
- Java 之 Web前端(二)
1.Cookie (客户端所拥有) a.含义:服务器给浏览器的甜点 b.语法: //创建Cookie Cookie cookie = new Cookie("name", &quo ...
- 零基础如何学习Java和web前端
今天说一下零基础到底能不能学习Java,为什么有的人说学不了呢,那么接下来我为大家揭晓,零基础到底适合不适合学习Java. 零基础学习Java的途径第一个就是看视频,然后就是看书,或者在线下报个培训班 ...
- Java 之 Web前端(六)
1.AJAX a.定义:异步的 JS 和 XML b.作用:不重新加载页面的情况下,与服务器的数据进行交互,改变网页的部分内容 c.语法: <html> <head> < ...
- Java 之 Web前端(五)
1.过滤器 a.定义:是一个中间组件,用于拦截源数据和目的数据之间的消息,并过滤二者之间传递的数据 b.步骤: ①建class继承Filter实现抽象方法 public class EncodingF ...
随机推荐
- ant 安装 网址
1 http://www.testautomationguru.com/jmeter-continuous-performance-testing-part1/ 2 http://www.testau ...
- Modbus库开发笔记之十:利用协议栈开发Mosbus RTU Slave应用
上一节我们使用协议占开发了一个Modbus TCP Server应用.接下来我们使用协议栈在开发一个基于串行链路的Mosbus RTU Slave应用. 根据前面对协议栈的封装,我们需要引用Modbu ...
- Confluence 6 中进行用户管理的优化配置和限制的基本建议
避免跨目录的多个用户名:如果你连接了超过一个的目录服务器,我们建议你需要确定你的用户名在目录服务器中是唯一的.例如:我们不建议你定义一个用户同时在'Directory1' 和 'Directory2' ...
- laravel 不理解的call方法
返回结果: 原来是调用同控制器的这四个方法之一...vendor\zhiyicx\plus-question\src\API2\Controllers\UserQuestionController.p ...
- kali linux 安装wps office
1.下载wps for linux 版本 wget http://kdl.cc.ksosoft.com/wps-community/download/6757/wps-office_10.1.0.67 ...
- bzoj4821-线段树区间lazy_tag下放的优先级和区间覆盖
见博客https://www.cnblogs.com/zwfymqz/p/8588693.html 题解链接https://blog.csdn.net/ripped/article/details/7 ...
- 雅礼 noip2018 模拟赛 day3 T3
典型树形dp 这里,我们应该看到一些基本性质: ①:如果这个边不能改(不是没有必要改),我们就不改,因为就算改过去还要改回来,显然不是最优的 注意:"不能改"是指边的性质和要求的相 ...
- vue-cli 里axios的使用
1.axios的安装 cnpm i axios --save 2.axios的引入 安装其他插件的时候,可以直接在 main.js 中引入并 Vue.use(),但是 axios 并不能 use,只能 ...
- 解决:sudo: pip: command not found
1-问题:Ubuntu下执行sudo pip install package-name 出现 sudo: pip: command not found 的问题. 2-原因:编译sudo的时候加入了–w ...
- npm run build 打包后(直接打包白屏),如何运行在本地查看效果(Apache服务)
转载: https://www.cnblogs.com/qiu-Ann/p/7477593.html 目前,使用vue-cli脚手架写了一个前端项目,之前一直是使用npm run dev 在8080端 ...