Java之JSTL标签与JavaBean

JSP、JSTL标签及 EL表达式

<!--    jstl表达式-->
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2</version>
</dependency>
<!-- standard标签库-->
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
</dependencies>

EL表达式

  • 获取数据
  • 执行运算
  • 获取web开发的常用对象
  • 调用java方法

JSP标签

当前时间:<%=new Date()%>
name:<%=request.getParameter("name")%> //获取参数
age:<%=request.getParameter("age")%>
<%--包含jsp文件--%>
<jsp:include page="/common/header.jsp"></jsp:include> //包含jsp文件 <%--相当于请求http://localhost:8888/jsptag2.jsp?name=Zh1z3ven&age=18--%>
<jsp:forward page="/jsptag2.jsp"> //请求转发
<jsp:param name="name" value="Zh1z3ven"/>
<jsp:param name="age" value="18"/>
</jsp:forward>

JSTL表达式

JSTL标签的使用就是为了弥补HTML的不足;他自定义许多标签,标签的功能和java代码一样。

核心标签

需要先引入标签库

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

if结构

<%--引入标签库--%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body> <form>
<%-- EL表单中获取表达式数据
${param.参数名}
--%>
<input type="text" formmethod="get" name="username" value="${param.username}">
<input type="submit" name="submit">
</form>
<%--判断用户名是admin则登录成功--%>
<%--test参数必须要填写,var代表返回值,这里返回值赋值为isAdmin--%>
<c:if test="${param.username=='admin'}" var="isAdmin">
<c:out value="is Admin!"></c:out>
</c:if>
<c:out value="${isAdmin}"></c:out>
</body>
</html>

when结构

设置数据
<c:set var="score" value="85"></c:set> <c:choose>
<c:when test="${score>=90}">
你的成绩为优秀
</c:when>
<c:when test="${score>=80}">
你的成绩为良好
</c:when>
<c:when test="${score>=70}">
你的成绩为一般
</c:when>
<c:when test="${score>=60}">
你的成绩为可以
</c:when> </c:choose>

foreach

<%
ArrayList<String> people = new ArrayList<>();
people.add(0, "xa");
people.add(1, "xb");
people.add(2, "xc");
people.add(3, "xd");
people.add(4, "xe");
request.setAttribute("list",people); %>
var: 每一次遍历出来的变量
items:要遍历的可迭代对象
begin:起始遍历位置
end:结束遍历位置
step:遍历步长
<c:forEach var="people" items="${list}" begin="1" end="5" step="2">
<c:out value="${people}"/> <br> </c:forEach>

JavaBean

实体类

JavaBean写法:

  • 必须有一个无参构造
  • 属性必须私有化
  • 必须有对应的get/set方法
  • 一般用来做数据库字段的映射ORM

ORM 对象关系映射

表==> 类

字段 ==> 属性

行记录 ==> 对象

//设置要链接的class
<jsp:useBean id="people" class="com.zh1z3ven.pojo.People" scope="page"/> //

JavaBean写法:

<%--scope为作用域,离开当前页面即无效--%>
<jsp:useBean id="people" class="com.zh1z3ven.pojo.People" scope="page"/> <%--设置属性--%>
<jsp:setProperty name="people" property="address" value="beijing"/>
<jsp:setProperty name="people" property="id" value="1"/>
<jsp:setProperty name="people" property="name" value="3"/>
<jsp:setProperty name="people" property="age" value="zh1z3ven"/> <%--获取属性值--%>
位置:<jsp:getProperty name="people" property="address"/>
id:<jsp:getProperty name="people" property="id"/>
姓名:<jsp:getProperty name="people" property="name"/>
年龄:<jsp:getProperty name="people" property="age"/>

等价于:

<%
People people = new People();
people.setAddress("hangzhou");
people.setAge(17);
people.setId(1);
people.setName("zh1z3ven");
people.getAddress();
people.getAge();
people.getId();
people.getName();
%>

Java之JSTL标签与JavaBean的更多相关文章

  1. Java学习——JSTL标签与EL表达式之间的微妙关系

    原文总结的太好了,忍不住记录.转发. 原文地址:http://blog.csdn.net/u010168160/article/details/49182867 目录(?)[-] 一EL表达式 EL相 ...

  2. Vue.js——循环(Java、JSTL标签库、数据库)

    一.Vue.js循环 Vue.js循环要使用 v-for 指令. v-for 指令需要以 student in StudentList 形式的特殊语法使用, StudentList 是源数据数组并且s ...

  3. Java实战之04JavaWeb-04JSP、EL表达式、JSTL标签库

    一.jsp部分 只要是与页面显示相关的都是重点 1.jsp的脚本 <%java代码%>:被翻译到service方法内部,局部变量,局部的功能 <%=表达式或变量%>:翻译成se ...

  4. JSTL标签急速秒杀jsp页面中的java代码(一)---Core标签库

    JSTL标签简介 ===================================================================== JSTL的全称是JavaServer Pa ...

  5. Java Web(七) JSTL标签库

    在之前我们学过在JSP页面上为了不使用脚本,所以我们有了JSP内置的行为.行为只能提供一小部分的功能,大多数的时候还是会用java脚本,接着就使用了EL表达式,基本上EL表达式看似能满足我们的要求,它 ...

  6. jsp不解析el表达式,不识别jstl标签,找不到http://java.sun.com/jsp/jstl/core

    问题描述: jsp页面中el表达式,例如:${pageContext.request.contextPath},原样呈现,未被解析. 解决方案: 为jsp页添加page指令如下: <%@ pag ...

  7. Java第三阶段学习(十四、JSP动态页面、EL表达式、JSTL标签库)

    一.JSP技术 1.jsp脚本和注释 jap脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部,比如写在doget.dopost 内的代码 2) ...

  8. java基础开发—jstl标签库

    在DRP项目中.接触到了JSTL标签库. 在未使用Jstl之前,我们使用JSP脚本实现一些声明或是表达式任务,做一些业务相关操作时,须要在页面中嵌入大量的java代码.在DRP项目开发前期.使用jsp ...

  9. Java Web程序设计笔记 • 【第10章 JSTL标签库】

    全部章节   >>>> 本章目录 10.1 JSTL 概述 10.1.1 JSTL 简介 10.1.1 JSTL 使用 10.1.2 实践练习 10.2 核心标签库 10.2. ...

随机推荐

  1. python 正则表达式 初级

    举例: 1.匹配hello world key = r"<h1>hello world<h1>" #源文本 p1 = r"<h1>.+ ...

  2. python 两种排序方法 sort() sorted()

    python中有两种排序方法,list内置sort()方法或者python内置的全局sorted()方法 区别为: sort()方法对list排序会修改list本身,不会返回新list.sort()只 ...

  3. MySql数据库缓存

    对MySql查询缓存及SQL Server过程缓存的理解及总结 一.MySql的Query Cache 1.Query Cache   MySQL Query Cache是用来缓存我们所执行的SELE ...

  4. Android单元测试问题解决

    1.'java.lang.RuntimeException: Method isEmpty in android.text.TextUtils not mocked'报错 https://www.ji ...

  5. Django基础-004 上下文管理器&中间件&前端公共代码复用

    一.上下文管理器 在views中重复使用的代码,可以在上下文管理器中实现 上下文管理器的处理流程如下: 1.先走完views里面的代码,将结果返回给前端 2.然后再将上下文的结果返回给前端 3.上下文 ...

  6. Zookeeper简介(五)

    1.定义 Zookeeper:是一个分布式的,开发源码的分布式应用程序协调服务,是hadoop的子项. 2. 特点 具有高可靠性,可扩展性,分布式,可配置的协调机制. 3. 作用 3.1 数据发布与订 ...

  7. [考试总结]noip模拟14

    咕掉了好长时间,现在终于回来了.. 这次考试炸裂得很完蛋,直接分数上天. \(T1\) 本来想打一个记忆化搜索,然而老是通过不了样例,然后就挂了,只剩下了垃圾的 \(30pts\) 部分分数. 然而到 ...

  8. [考试总结]noip模拟6

    我好菜啊 真上次第二这次倒二... 因为昨天还没有改完所有的题所以就留到今天来写博客了 这次考试总结的教训有很多吧,反正处处体现XIN某人的laji,自己考试的是后本以为一共四个题目,三个题目都没有看 ...

  9. 第二十四篇 -- Cache学习

    Cache存储器 电脑中为高速缓冲存储器,是位于CPU和主存储器DRAM(Dynamic Random Access Memory)之间,规模较小,但速度很高的存储器,通常由SRAM(Static R ...

  10. 最大公约数and最小公倍数(Java版)

    1.最大公约数and最小公倍数 import java.util.Scanner; public class MultipleAndDivisor { public static void main( ...