JSP中的JSTL和EL

2 篇文章 0 订阅
2 篇文章 0 订阅

任务如下图

在这里插入图片描述
JSP-20190911
src

com\jstl\pojo

Admin.java

package com.jstl.pojo;

public class Admin {
	private Integer aid;
	private String aname;
	private String password;

	public Admin() {
		super();
	}

	public Admin(String aname, String password) {
		super();
		this.aname = aname;
		this.password = password;
	}

	public Admin(Integer aid, String aname, String password) {
		super();
		this.aid = aid;
		this.aname = aname;
		this.password = password;
	}

	public Integer getAid() {
		return aid;
	}

	public void setAid(Integer aid) {
		this.aid = aid;
	}

	public String getAname() {
		return aname;
	}

	public void setAname(String aname) {
		this.aname = aname;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

}

WebContent

demo
demo1.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<!-- 
	EL表达式中的算术运算符 
	+		一定是求和运算,自动将运算数转换成数值类型后进行求和.如果不能进行类型转换就会报错.
	% mod	求余运算
	/		求商运算,对结果保留小数.
	
	El表达式中的空值运算符
	empty	检查运算数是否为null或者为"". 条件满足是返回true否则返回false
	-->
	<% request.setAttribute("key", 100); %>
	${1+2}	${key+200}	${"100"+200} <hr/>
	
	${12%3}	${12 mod 3}	${10/3}<hr/>
	
	${12 == 12}	${true && true }  ${true or false} ${not true}
	
	${1<2 && key==100}<hr/>
	
	${empty key}	${empty param.name}<hr/>
	
	${12345E-2}
	
	
	
</body>
</html>

demo2.jsp

<%@page import="java.util.ArrayList"%>
<%@page import="com.jstl.pojo.Admin"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<!-- 
	JSTL	由JSP语言提供方,提供一组用于JSP页面的标签库 
	作用:		以标签的形式控制页面内容的显示和数据的处理(提高JSP页面的可读性及可维护性).
	
	JSTL
	1.核心标签库
		通用标签
			out		输出value属性计算的结果到页面显示,当value结果为null或者""时.输出default属性的内容到页面
					value="输出的内容"
					default="默认值"
					escapeXml="true/false"	当为false时解析输出内容中的实体.
					
			set		
					1.在指定的作用域中创建键值对
					var="键名称"		
					value="值内容"
					scope="作用域"		page,request,session,application
			
					2.对指定的对象属性进行赋值
					target="${对象}"		被修改的对象
					property="属性名"		要修改的属性,该属性在类中必须提供规范的set方法.
					value="修改的值"
					
			remove	从指定作用域范围中删除对应的键值对
					var="键名称"
					scope="作用域范围"
					注意:	当没有提供scope属性是,会将所有作用域范围中对应的键值对都删除掉.
			
		迭代标签
			foreach	用户循环操作,一般用来迭代数组或者集合中的元素.
					1.迭代集合或者数组内容
					items="${集合或者数组}"		被迭代的容器
					var="临时变量名"			从容器中提取出内容临时存放变量.
				
					2.迭代集合并控制提取的范围
					bgein="起始下标"
					end="结束下标"
					step="自增张值"
					
					3.获取提取元素在容器中的状态
					varStatus="status"
					${status.first}		true/false 	是否为容器中的第一个元素
					${status.last}		true/false 	是否为容器中的最后一个元素
					${status.index}		数值 			在容器中的下标(从0开始)
					${status.count}		数值 			在容器中的位置(从1开始)
			
				
		
		条件标签
		
	2.国际化标签库
	3.方法标签库
	
	使用JSTL标签库的步骤:
	1.	在项目中导入JSTL库的.jar文件
	2.	在需要使用JSTL标签的JSP文件中.使用taglib指令导入对应标签库.
	3.	在页面上通过  <前缀:标签名/>进行使用

	-->
	<c:out value="${param.name }" escapeXml="false">
		<input type="text"/>
	</c:out><hr/>
	
	<c:set var="key" value="${param.name}" scope="request"/>
	<c:out value="${key}"/>
	
	<% 
	Admin admin=new Admin(1,"Tom","111");
	Admin admin2=new Admin(1,"Jimmy","111");
	request.setAttribute("admin", admin);
	session.setAttribute("admin", admin2);
	%>
	<c:out value="${admin.aname}"/>
	<c:set target="${admin}" property="aname" value="Mary"/>
	<c:out value="${admin.aname}"/><hr/>
	
	<c:out value="${admin.aname}"/>
	<c:remove var="admin"/>
	<c:out value="${admin.aname}" default="empty"/><hr/>
	
	<%
	ArrayList<Admin> list=new ArrayList<Admin>();
	list.add(new Admin(1,"Tom1","111"));
	list.add(new Admin(2,"Tom2","111"));
	list.add(new Admin(3,"Tom3","111"));
	list.add(new Admin(4,"Tom4","111"));
	list.add(new Admin(5,"Tom5","111"));
	list.add(new Admin(1,"Tom6","111"));
	list.add(new Admin(2,"Tom7","111"));
	list.add(new Admin(3,"Tom8","111"));
	list.add(new Admin(4,"Tom9","111"));
	list.add(new Admin(5,"Tom10","111"));
	request.setAttribute("list", list);
	%>
	<c:forEach items="${list}" var="t">
		${t.aname}
	</c:forEach><hr/>
	<c:forEach items="${list}" var="t" begin="0" end="7" step="3">
		${t.aname}
	</c:forEach><hr/>
	<c:forEach items="${list}" var="t" varStatus="status">
		${t.aname}<br/>
		是否为第一个元素${status.first}<br/>
		是否为最后一个元素${status.last}<br/>
		下标为:${status.index}<br/>
		位置为:${status.count}<br/>
		<hr/>
	</c:forEach>
</body>
</html>

WEB-INF
lib
jstl.jar和standard.jar

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值