Jstl标签库

Jstl标签库

自定义标签库

Mvc设计模式

Java三层框架

 

Jstl概述

Apache提供的,必须要导入jar包

 

Core 核心标签库,c标签

<c:out>输出

1value:可以是字符串常量,也可以是el表达式

2default:当要输出的内容为null时,会输出default指定的值。

3escapeXml:默认为true ,表示转义。

<c:set>

1var:变量名

2value:变量值可以为el表达式

3scope:默认为page,可选值page,request,Session,application

Remove删除域变量

Var变量名

Scope如果不给出scope,表示删除所有域中的该名称的变量,如果指定了域,那么只删除该域的变量。

 

url

value指定一个路径!给他会在路径前面自动添加项目名

可以给url后面添加参数

<c:param>name value

Var 指定变量名,,一旦加入这个属性,那么url标签就不会在输出到页面,而是把生成url保存到域中

Scope它与var一起使用,用来保存url。

 

If语句

<c:if test="布尔类型">…</c:if>:当test为真时执行标签体内容

 

Choose语句

<c:choose>

<c:when test="">…</c:when>

<c:when test="">…</c:when>

<c:when test="">…</c:when>

<c:otherwise></c:otherwise>

</c:choose>

 

Foreach

<c:forEach var="i" begin="i" end="10" syep="2">${i}

</c:forEach>

Items要便利的是集合

Var把数组或集合中的每个元素复制给var指定的变量。

循环状态varstatus 来创建循环状态变量。

Count

Index

First

Last

Current当前元素

 

代码

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<base href="<%=basePath%>">

 

<title>My JSP '2.jsp' starting page</title>

 

    <meta http-equiv="pragma" content="no-cache">

    <meta http-equiv="cache-control" content="no-cache">

    <meta http-equiv="expires" content="0">

    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

    <meta http-equiv="description" content="This is my page">

    <!--

    <link rel="stylesheet" type="text/css" href="styles.css">

    -->

 

</head>

 

<body>

This is my JSP page. <br>

<c:set var="code" value="<script>alert('hello');</script>" scope="request"/>

<c:out value="${code }" escapeXml="true"/><br>

 

<c:url value="/Aservlet"/><br>

${pageContext.request.contextPath }/Aservlet

 

<a href="<c:url value='/index.jsp'">点击此处回到主页</a>

<br>

 

    <c:url value='/indfex.jsp'>

        <c:param name="name" value="张三"></c:param>

    </c:url>

    <hr>

    <c:if test="${empty param.name }">

        您没有给出名为name的参数!

    </c:if>

    

    <hr>

    

    <c:choose>

        <c:when test="${empty param.name }">您没有给出名为name的参数</c:when>

        <c:otherwise>谁让你给出name参数的!${param.name }</c:otherwise>

    </c:choose>

    

    <hr>

    

    <c:forEach var="i" begin="1" end="10" step="2">

        ${i }<br>

    </c:forEach>

    

    <%String []strs={"one","two"};

        request.setAttribute("strs", strs);

    %>

    <c:forEach items="${strs }" var="str">

        ${str }<br>

    </c:forEach>

    

    <hr>

    <%

    ArrayList<String> list=new ArrayList<String>();

    list.add("");

    list.add("");

    list.add("");

    pageContext.setAttribute("list", list);

    %>

    <c:forEach items="${1list }" var="ele" varStatus="vs">

        ${vs.index }${vs.count }${vs.first }${vs.last }${vs.current }<br>

    </c:forEach>

</body>

</html>

 

 

Fmt标签库

格式化

<fmt:formatData value="${d}" partten="yyyy-MM-dd HH:mm:ss"/>

<fmt:formatNumber value="${number}" partten=""/>

0.00保留小数点位数,四舍五入

不足补零

#.##不补位数

 

 

自定义标签

 

 

Mvc设计模式

他不是Java独有的,所有的b/s结构的项目都在使用它

M model模型(自己写代码)

V view 视图(jsp)

C control控制器(servlet)

不只是一个。

你可能感兴趣的:(Jstl标签库)