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();
%>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章