PI-KA-CHU / PIKACHU-JAVA-Notebook

用于记录学习笔记
8 stars 4 forks source link

JAVA-Taglib使用总结(JSTL) #24

Open PI-KA-CHU opened 5 years ago

PI-KA-CHU commented 5 years ago

JAVA-Taglib使用总结(JSTL)

  1. JSTL依赖包下载(本人使用1.1.2版本):

  1. 使用流程:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>  //基本taglib
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>  //数据库操作相关taglib
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> //相关函数taglib
  1. 基本taglib的用法总结:


- taglib操作数据库,使用${ }可以引用taglib定义的标签的变量名:

<sql:setDataSource var="myDB" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/test" user="root" password="19970121" />

<sql:query dataSource="${myDB}" var="totalList">SQL语句</sql:query>

<sql:query dataSource="${myDB}" var="list">${sql}</sql:query>

/************************************************************************************************************/

- 使用taglib基本操作:

/*设置某一变量的值*/
<c:set var="sql" value="SELECT id FROM t_student WHERE username='曾'"></c:set>

/*IF语句的使用(只有条件成立才会执行里面的程序)*/
<c:if test="${authorName ne null and !empty authorName}">
    ${sql.concat("AND a.author LIKE '").concat(authorName).concat("%'") }
</c:if>

/*forEach的使用(list为执行sql语句后的var):*/
<c:forEach var="item" items="${list.rows}" begin="0" end="10">      
    <tr>
    <th scope="row">${item.id}</th>
    <td><img src="${item.imageUrl}" class="td-img"></td>
    <td>${item.title}</td>
    <td>${item.author}</td>
    </tr>
</c:forEach>

/*choose的使用(类似于switch)*/
<c:choose>
    <c:when test="${(total % number) eq 1}">
    <c:set var="pageT" value="${total/number}"></c:set>
    </c:when>
   <c:when test="${(total % number) eq 2}">
    <c:set var="pageT" value="${total/number}"></c:set>
    </c:when>
    <c:otherwise>
    <c:set var="pageT" value="${total/number + 1}"></c:set>
    </c:otherwise>
</c:choose>