JavaWeb JSTL核心库 简化JavaWeb代码语法

JSTL核心库

set标签

向域中设置数据

<c:set>  </c:set>

举例

<body>
    ${requestScope.key}<br/>
    <c:set scope="request" var="key" value="通过set标签设置的值"/>
    ${requestScope.key}<br/>
</body>

请添加图片描述

使用注意:

使用set标签时 scope属性代表域对象 var属性代表key键 value代表value值

对于scope

page:pageContext(默认)

request:request

session:session

application:servletContext

if标签

条件判断输出

<c:if test="">  </c:if>

举例

<c:if test="${5>0}">结果为真时输出</c:if>

请添加图片描述

使用注意:

test属性中填写EL的条件判断表达式,结果为真输出if标签包围的内容,结果为假不做输出,只有if没有else

choose when otherwise 标签

多路判断

<c:choose>
    <c:when test="">
    </c:when>
    <c:otherwise>
    </c:otherwise>
</c:choose>

举例:

<% request.setAttribute("salary",15000); %>
<c:choose>
    <c:when test="${salary>30000}">
        给的很多
    </c:when>
    <c:when test="${salary>=15000}">
        还可以
    </c:when>
    <c:when test="${salary>10000}">
        正常
    </c:when>
    <c:otherwise>
        给的比较少
    </c:otherwise>
</c:choose>

请添加图片描述

使用注意:

when中的test属性代表EL条件判断语句,若条件为真输出包围的内容,且之后的判断停止,否则一直判断,类似于switch case

如果choose中需要使用注释,需要使用jsp的注释,其他类型的注释会报错

otherwise同一级只能使用一个,如果想在otherwise中继续使用otherwise,需要写when,否则无法使用即同一级中若需要使用otherwise就必须使用when

foreach标签

遍历标签

<c:forEach begin="" end="" var="">    </c:forEach>

举例

遍历数字:
<c:forEach begin="1" end="10" var="i">
    ${i}<br/>
</c:forEach>

请添加图片描述

遍历对象数组:
<%
    request.setAttribute("array",new String[]{"a","b","c"});
%>
<c:forEach items="${requestScope.array}" var="item">
    ${item}<br/>
</c:forEach>

请添加图片描述

遍历Map:
<%
    Map<String,String> map = new HashMap<>();
    map.put("经理","张三");
    map.put("副经理","李四");
    map.put("员工","王五");
    request.setAttribute("map",map);
%>

<c:forEach items="${ requestScope.map }" var="entry">
    ${entry}
    ${entry.key}
    ${entry.value}
    <br/>
</c:forEach>

请添加图片描述

遍历list:
<%
    List<String> list = new ArrayList();
    list.add("1-1");
    list.add("1-2");
    list.add("1-3");
    list.add("1-4");
    list.add("1-5");
    request.setAttribute("list",list);
%>
<c:forEach items="${ requestScope.list }" var="listitem">
    ${listitem}<br/>
</c:forEach>

请添加图片描述

使用注意:

其中的begin属性代表启示值,end属性代表结束值,step属性代表步长,var属性代表每次循环的赋值目标,例如for循环中的i

如果不写begin和end用来遍历数组或集合,类似于增强for循环foreach,items属性代表迭代的目标,var属性代表赋值目标与上类似

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值