20210713_jstl标签
jstl
通俗:就是在jsp页面中使用的特殊标签而已,在jsp中才有意义
1.使用步骤
1)在工程中引用JSTL的jar包
2)在JSP页面中添加taglib指令,注意是jsp/jstl/core
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
2.分支结构标签的使用
if标签
//servlet中的代码User u=new User();u.setLname("trump");u.setName("川建国");u.setUid(2);req.setAttribute("map1", u);//req.getRequestDispatcher("SecondJsp.jsp").forward(req, resp);req.getRequestDispatcher("ThirdJsp.jsp").forward(req, resp);//jsp中代码<!-- 单分支 --><ly:if test="${!empty map1 }"><form action=""><input type="hidden" value="${map1.uid}"/>账号:<input value="${map1.lname}"/><br/>姓名:<input value="${map1.name}"/><input type="submit"></form>-
choose标签,多分支
//servlet代码List<String> list=new ArrayList<>();list.add("lucy");// list.add("川建国");// list.add("拜登");// list.add("奥巴马");// list.add("不舍");req.setAttribute("list", list);req.getRequestDispatcher("FourJsp.jsp").forward(req, resp);//jsp代码<!-- 可以分多种情况 --><c:choose><c:when test="${!empty map1 }"><form action=""><input type="hidden" value="${map1.uid}"/>账号:<input value="${map1.lname}"/><br/>姓名:<input value="${map1.name}"/><input type="submit"></form></c:when><c:otherwise ><h1>没有数据</h1></c:otherwise></c:choose><hr/><!-- 多分支 --><c:choose><c:when test="${list.size()>=4}">至少有4个数据</c:when><c:when test="${list.size()>=2}">至少有两个数据</c:when><c:otherwise>数据比较少</c:otherwise>-
foreach标签循环
遍历list集合和数组
items:要遍历的对象
var:每次循环是数据放在在var值的对象上了
varStatus:存放的是和行数相关的对象,主要使用其index属性 //servlet代码List<String> list=new ArrayList<>();list.add("lucy");list.add("张三");list.add("李雪琴");list.add("王建国");list.add("张绍刚");list.add("李诞");- ``
req.setAttribute("names", list);//放置的list- ``
- ``
//jsp页面代码<ul><c:forEach items="${names }" var="n" varStatus="vs"><li>${n},${vs.index+1}</li></c:forEach></ul>
c:forEach循环取数值 , begin开始数值,end结束数值,step跨度,var:每次循环的那个变量,就数值
<c:forEach begin="0" end="9" step="3" var="i">${i }<br/></c:forEach>-
其余的标签(了解)
<!-- set:就是给对象的属性进行赋值 target:对象, property对象的属性名,value要赋的值out:输出,value要输出的部分remove:删除的对象 var:key名-->输出dname:<c:out value="${dept.dname }"></c:out><br/><c:set target="${dept}" property="dname" value="开发部"></c:set>赋完值的结果:${dept.dname} ,${dept }删除<c:remove var="dept" />看到dept:${dept}关于url的写法的总结
在jsp和html上进行编写时使用base 标签,base中href的值写法是:/项目名称/ ,使用的base页面上访问本项目资源时都是加了 /项目名称/
在servlet中写地址时,以 / 开头 ,此时的/代表就是:http://地址:端口/项目名称/
