jsp和EL表达式教程


JSP 内部组成

脚本 – 目前不建议使用

脚本就是在 jsp 页面可进行 java 的嵌套;
嵌套的格式:<% java 代码 %>
<%
int a = 10;
int b = 20;
int sum = a+b;
System.out.println(sum);
%>
在 jsp 被翻译成 servlet 过后,会在 service 方法中将上述的代码定义出来

java 表达式 – 不建议使用

在 jsp 页面实现 java 代码运行结果输出,获取是内置对象中变量值的获取;
格式:<%= 要输出的值%>
<%
int a = 10;
int b = 20;
int sum = a+b;
System.out.println(sum);
%>
<%= sum %>
能够在浏览器当中显示变量 sum 的值

声明

在 jsp 声明后会将声明的变量或者方法转化 java 的成员变量或成员方法;
声明格式:<%! 变量的声明,方法的声明%>
<%!
int a = 10;
public void method(){
System.out.println("helloworld");
}
%>
在翻译后,a 会作为类的成员变量,method 方法会成为类的成员方法

JSP 指令

jsp 包含三个指令:page(jsp页面描述)、include(页面静态包含)、taglib(表达
式引入);
指令的语法结构:<%@ 指令名称 属性="属性值" %>

page 指定

page 指令用于对 JSP 页面进行描述以及一些基本的 jsp 页面功能设置;
语法格式:
<%@ page contentType="text/html;charset=UTF-8" language="java"
pageEncoding="UTF-8" isELIgnored="false" %>
常用的属性有:
import:用于导包
contentType:定义服务器返回内容的文档格式以及返回数据的编码格式
language:定义页面语言
pageEncoding:jsp 页面编码格式
isELIgnored:是否忽略 el 表达式,值为 true,el 表达式会被当做字符串,值为
false,jsp 中可以正常使用 el 表达式

include 指令

include 用来实现页面的静态包含,被包含的页面和主页面在翻译后只会生成一个 java
类;
语法格式:
<%@ include file="被包含页面的路径" %>
案例:
<body>
<%@ include file="header.jsp" %>
<h1>这是页面内容</h1>
<%@ include file="bottom.jsp" %>
</body>
在翻译后,只会生成一个 java 类;include 指令一般用于多个页面中某一部分显示的效果
一致时,进行相同部分功能的定义,然后进行引用;从而提高页面代码的复用性;更方便后期
代码的维护

taglib 指令

taglib 指定用来进行 jstl 的引用; jstl 表达式是一个增强的便签库,该标签库具有大
量的标签,比 html 提供的标签功能性更强;
语法格式:
<%@ taglib uri="表达式网络资源路径" prefix="简称" %>
例如:引入 jstl 核心标签库
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
c 表示给核心标签库取一个别名,后面用 c 别名进行便签的使用
jstl 标签库中便签的使用:
<c:forEach items="${list}" var="user"></c:forEach>
c:forEach -- 使用 jstl 中提供的 foreach 标签
foreach 标签具备的功能就是能够实现遍历操作,遍历的对象是 items 属性表示的对象,
每一次遍历结果都会储存到 var 属性后面的变量值中;

jsp 动作

用于 jsp 页面实现动态的代码、页面引入;

include 动作

include 动作和 include 指令功能一样,都是用于其他页面的引用, include 动作是
显示其他页面的动态引用,在服务器翻译后会生成多个 java 类
格式:
<jsp:include page = "路径"></jsp:include>

useBean 动作

用于对 javaBean 的访问;
格式:
<jsp:useBean id="JavaBean" class="包名.类名" scope="作用域对象">
</jsp:useBean>

get/setProperty 动作

用于 javabean 对象属性的获取和设置;
获取对象属性语法格式:
<jsp:getProperty name="JavaBean" property="对象属性名">
</jsp:getProperty>
设置对象属性语法格式:
<jsp:setProperty name="JavaBean" property="对象属性名" value="值"
param="请求参数"></jsp:setProperty>

forward 动作

用于页面跳转;
语法结构:
<jsp:forward page="路径"></jsp:forward>

param 动作

用于参数的传递,与 forward 一起使用,实现页面的跳转同时携带数据;param 动作相当
于服务器后台进行页面转发;
语法结构:
<jsp:param name="参数名" value=“参数值”></jsp:param>

jsp 动作使用案例

<body>
<!-- 动态引入 top.jsp页面 -->
<jsp:include page="top.jsp"></jsp:include>
<!-- 引用 User 实体类 相当于是创建了一个 User 类的对象,使用空参构造-->
<!--
id:是实体类对象的唯一标识,通过 id 进行实体类对象的访问
class:用来描述实体的路径 -- 包名+类名
scope:用来描述实体类对象的作用域,默认为 page,即当前页面能使用该对象
scope 可选值有4个:
① page --- 默认值
② request -- 当前客户一次请求内有效
③ session -- 当前 httpSession 内所有的页面
④ application -- 所有具有相同的上下文页面都能使用
-->
<jsp:useBean id="user" class="com.oracle.bean.User"
scope="page"></jsp:useBean>
${user }
<!-- 对 jsp:useBean 创建的对象进行属性的设置,使用实体类中声明的 set 方法
进行赋值-->
<!--
name:用来指明实体类对象
property:用来指明实体类对象的属性
value:用来指明实体类对象属性的值
param:使用请求参数进行属性值的赋值
-->
EL 表达式
简介
<jsp:setProperty name="user" property="username" value="admin"

></jsp:setProperty>
<jsp:setProperty name="user" property="password"
value="123456"></jsp:setProperty>
<br>
${user }
<!-- getProperty 用来获取指定属性的值,并且进行页面显示 -->
<br>
<jsp:getProperty property="username" name="user"/><br>
<jsp:getProperty property="password" name="user"/>
<!-- 页面转发 -->
<!--
page:表示转发的页面路径
-->
<!-- name:指明转发页面时参数名称
value:页面转发时携带的
-->
<jsp:forward page="main.jsp">
<jsp:param value="lisi" name="username"/>
<jsp:param value="success" name="message"/>
</jsp:forward>
</body>

EL 表达式

EL 全称为 Expression Language – 表达式语言,能够让 jsp 页面写起来更简单; 格式:${expression} expression – 具体要获取的值,可以是变量、对象、数组、集合; 注意:使用 el 表达式在获取值时是从 jsp 的作用域中获取; el 表达式除了能够获取值,还能够对获取的结果进行运算; 运算符参考 java 中的运算符即可; 例如: $(3 + 2) — 5 $(3>2?1:0) — 1

EL 表达式的使用

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

划水的阿瞒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值