Java之JSTL标签与JavaBean
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();
%>
所有内容仅限于维护网络安全学习参考