笔记-JavaWeb学习之旅14
程序员文章站
2022-03-06 22:39:21
JSTL:JavaServer Pages Tag Library JSP标准标签库 if标签 choose标签 foreach完成重复的操作 foreach完成遍历容器 JSTL练习 需求:在request域中有一个存有User对象的集合,需要使用jstl+el将list集合数据展示到jsp页面的 ......
jstl:javaserver pages tag library jsp标准标签库
if标签
<%@ page import="java.util.arraylist" %> <%@ page import="java.util.list" %> <%@ page contenttype="text/html;charset=utf-8" language="java" %> <%--导入标签库,使用标签--%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <head> <title>title</title> </head> <body> <%--if标签中的属性test是必须要写的,接受boolean表达式,--%> <%--表达式为true则显示if 标签体内容,false则不显示,--%> <%--一般情况下,test属性值会结合el表达式一起使用--%> <% list list = new arraylist(); list.add("aaa"); request.setattribute("list",list); request.setattribute("number",5); %> <c:if test="${not empty list}"> 遍历集合.... </c:if> <c:if test="${number % 2 == 0}"> ${number}为偶数 </c:if> <c:if test="${number % 2 != 0}"> ${number}奇数 </c:if> </body> </html>
choose标签
<%@ page contenttype="text/html;charset=utf-8" language="java" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <head> <title>title</title> </head> <body> <% request.setattribute("number",8); %> <%--choose标签取出数字--%> <%--when标签做数字的判断--%> <%--otherwise标签做其他情况的 声明--%> <c:choose> <c:when test="${number == 1}">星期一</c:when> <c:when test="${number == 2}">星期二</c:when> <c:when test="${number == 3}">星期三</c:when> <c:when test="${number == 4}">星期四</c:when> <c:when test="${number == 5}">星期五</c:when> <c:when test="${number == 6}">星期六</c:when> <c:when test="${number == 7}">星期天</c:when> <c:otherwise>数字输入有误</c:otherwise> </c:choose> </body> </html>
foreach完成重复的操作
<%@ page contenttype="text/html;charset=utf-8" language="java" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <head> <title>title</title> </head> <body> <%--完成重复的操作--%> <%--foreach:相当于java代码的for语句--%> <%--begin:开始值 end:结束值(包含) var:临时变量--%> <%--step:步长 varstatus循环状态的对象(index :索引 count:循环次数,从1开始)--%> <c:foreach begin="1" end="10" var="i" step="2" varstatus="s"> ${i} ${s.index} ${s.count}<hr> </c:foreach> </body> </html>
foreach完成遍历容器
<%@ page import="java.util.arraylist" %> <%@ page import="java.util.list" %> <%@ page contenttype="text/html;charset=utf-8" language="java" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <head> <title>title</title> </head> <body> <%--遍历容器--%> <%--属性: items:容器对象 var:容器中元素的临时变量 varstatus--%> <% list list = new arraylist(); list.add("aaa"); list.add("bbb"); list.add("ccc"); request.setattribute("list",list); %> <c:foreach items="${list}" var="str" varstatus="s"> ${s.index} ${s.count} ${str}<br> </c:foreach> </body> </html>
jstl练习
需求:在request域中有一个存有user对象的集合,需要使用jstl+el将list集合数据展示到jsp页面的表格table中
package com.data.jsp; import java.text.simpledateformat; import java.util.date; public class user { private string name; private int age; private date birthday; public user() { } public user(string name, int age, date birthday) { this.name = name; this.age = age; this.birthday = birthday; } //需要显示年月日的日期格式需要创建一个方法 public string getbirstr(){ //格式化日期 if(birthday !=null){ simpledateformat sdf = new simpledateformat("yyyy年mm月dd日 hh:mm:ss"); //返回字符串 return sdf.format(birthday); }else{ return ""; } } public string getname() { return name; } public void setname(string name) { this.name = name; } public int getage() { return age; } public void setage(int age) { this.age = age; } public date getbirthday() { return birthday; } public void setbirthday(date birthday) { this.birthday = birthday; } }
<%@ page import="java.util.arraylist" %> <%@ page import="java.util.list" %> <%@ page import="com.data.jsp.user" %> <%@ page import="java.util.date" %> <%@ page contenttype="text/html;charset=utf-8" language="java" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <head> <title>title</title> </head> <body> <% list list = new arraylist(); list.add(new user("张三",23,new date())); list.add(new user("李四",24,new date())); list.add(new user("王五",25,new date())); request.setattribute("list",list); %> <table border="1" width="500" align="center"> <tr> <th>编号</th> <th>姓名</th> <th>年龄</th> <th>生日</th> </tr> <c:foreach items="${list}" var="user" varstatus="s"> <tr> <td>${s.count}</td> <td>${user.name}</td> <td>${user.age}</td> <td>${user.birstr}</td> </tr> </c:foreach> </table> </body> </html>
三层架构:软件设计架构
1.界面层(web层)(表示层):用户看得到的界面。用户可以通过界面上的组件和服务器进行交互,对应spingmvc框架
2.业务逻辑层(service):处理业务逻辑的,对应spring框架
3.数据访问层(dao层):操作数据存储文件,对应mybatis框架