• Hibernate入门---总结:与jstl结合----【jstl标签待解决】【第一天】


    知识准备:

    1.jstl需要的jar包
    jstl-x.y.z.jar
    2.标签库的声明
    再jsp标签中:
    (1)核心标签库声明:
    @taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"
    (2)I18N格式标签库
    @taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/xml"
    (3)SQL标签库声明
    @taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"
    (4)XML标签库声明
    @taglib prefix="xml" uri="http://java.sun.com/jsp/jstl/xml"
    (5)函数标签库声明
    @taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"
    对jstl的使用举例:
    一、核心标签库(core)的操作:

    第一:c:out表达式操作:
    使用c:out标签直接输出结果:Hello jstl 其中属性value可以使用el标签对javabean的get方法进行调用(注意:调用成员就是方法)

    第二:c:set标签设定某个特定对象的一个属性
    c:set value="" var="" scope="可以写page/request/session/application"
    例如:c:set value="zhou" var="uname"
    相当于在jsp中:pageContent.setAttribute("uname","zhou");
    也相当于:c:set value="zhou" var="uname" scope="session"

    第三:删除某个变量或者属性:c:remove

    第四:为bean属性赋值:
    jsp:useBean id="user" class="zhou.User"
    c:set target="美元符号{user}" property="uname" value="admin"

    二、流程控制catch、if、choose、when、otherwise
    第一:抛出嵌套在该标签内的异常c:catch
    c:catch var="error"捕捉,c:out value="美元符号{error}"输出异常

    第二:c:if用作条件判断:
    c:set var="score" value="81"
    /set
    c:if test="美元符号{score>=80&&score<=90}"
    表达式
    /c:if


    第三、迭代操作forEach、forTokens
    page128


    三、URL标签的使用:
    1.c:import导入一个url相当于jsp:include page=""
    2.c:redirect相当于转发:
    c:url var="loginurl" value="login.jsp" scope="page"
    c:param name="uid" value="zhou"/
    /c:url a href="美元{loginurl}" 带参数的url /a

    JSTL+EL+Hibernate实现查询网页显示示例:

    由于此例是根据前面的示例来的,所以这里只写jsp文件【记得导包】

    <%@ 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 PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>测试</title>
    </head>
    <body>
    <jsp:useBean id="dao" class="bean.CustomerDao"></jsp:useBean>
    <%
    pageContext.setAttribute("cuslist", dao.queryAllCustomer());
    %>
    <table border="1">
     <tr><td>id</td><td>name</td><td>phone</td></tr>
    <c:forEach var="cus" items="cuslist" varStatus="item">
        <tr>
           <td>${cuslist[0].name}</td><td>${cuslist[0].phone}</td><td>${cuslist[0].customerID}</td>
        </tr>  
        <tr>
           <td>${cuslist[1].name}</td><td>${cuslist[1].phone}</td><td>${cuslist[1].customerID}</td>
        </tr>
    </c:forEach>
    </table>
    </body>
    </html>

    由于使用jstl标签时cus.属性会报错,暂时不知道什么原因,所以使用el标签:

    ${cuslist[1].name}

    本来猜想会出现四条记录【循环,原本我就两条记录】,结果没有,虽然如此可以使用,但大量数据时,这里的下标就没法表示了。

    这个问题先留着,做个标记。

    结果:

  • 相关阅读:
    python目录操作【os和os.path】
    Zabbix4.0 zabbix 快速监控主机
    Zabbix 4.0 钉钉报警
    MySql:sql99语法的连接查询
    bat脚本中存在多条指令,但只执行到某条指令不继续向下执行的一种解决方法
    基类与接口类中的虚析构函数(virtual destructor)
    TortoiseGit使用指南;
    Rust编译问题Blocking waiting for file lock on package cache
    win10安装visual C++ 6.0,在最后显示安装程序正在更新您的系统,然后就无响应
    从实现装饰者模式中思考C++指针和引用的选择
  • 原文地址:https://www.cnblogs.com/ciscolee/p/10946286.html
Copyright © 2020-2023  润新知