JSP标签:jsp内置标签、jstl标签、自定义标签 学会怎样使用Jsp 内置标签、jstl标签库及自定义标签-----https://www.cnblogs.com/fnz0/p/5662038.html?

一、jsp标签的分类:

  1)内置标签(动作标签): 不需要在jsp页面导入标签

  2)jstl标签: 需要在jsp页面中导入标签

  3)自定义标签 : 开发者自行定义,需要在jsp页面导入标签

1、内置标签(动作标签):

<jsp:include/>包含标签:

 语法:

<jsp:include page="/MyJsp001.jsp">
        <jsp:param value="jxf" name="name"/><%--可以将参数传递给包含进来的页面--%>
</jsp:include>

jsp中还有一个包含指令,也是将一个页面包含另外的页面

他们之间的区别:

  1、首先是语法不同

    <jsp:include page="/MyJsp001.jsp">

    <%@inclue file="被包含的页面"%>

  2、<jsp:include>可以传递参数,<%@inclue%>不可以

  3、<jsp:include>:包含页面与被包含页面分别编译为两个java源文件,在运行时引用

     <%@inclue%>:包含页面与被包含页面合并编译为一个java源文件

东奥列子:

<div class="tab_menudiv_max">
<div class="tab_box" related_tab_></jsp:include>
</div>
</div>

2、jstl标签: JSTL (java standard tag libarary - java标准标签库)

   jstl标签的类型:

      核心标签库 (c标签库)//这里主要介绍c标签库,因为用的真的很多

      国际化标签(fmt标签库)

      EL函数库(fn函数库)

使用jstl标签库使用前提(此处以c标签库为例):

1、导入jstl支持包:jstl-1.2.jar(如果用MyEclipse创建项目时候选择java EE5.0,则不需要导包,工程中已经包含)

2、在页面中使用Taglib指令导入标签库  

<%--uri:tld文件中的uri名称,prefix:标签前缀--%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

c标签库的主要标签:

<c:if>标签:但条件判断

<%--test支持EL表达式 --%>
      <c:if test="${true}">
          条件成立!
      </c:if>

<c:forEach>标签:遍历

<%--遍历list --%>
      <c:forEach var="student" begin="0" end="2" items="${list}" step="1" varStatus="varSta">
          name:${student.name}---age:${student.age}<br/>
      </c:forEach>
      <%--遍历map --%>
      <c:forEach var="student" begin="0" end="2" items="${map}" step="1" varStatus="varSta">
          key:${student.key}---name:${student.value.name}---age:${student.value.age}<br/>
      </c:forEach>
      <%--遍历array --%>
      <c:forEach var="student" begin="0" end="2" items="${array}" step="1" varStatus="varSta">
          name:${student.name}---age:${student.age}<br/>
      </c:forEach>
      <%--一般遍历集合或者数组都是全部遍历,所以只写2个属性var和items,其他取默认值 --%>
      <c:forEach var="student" items="${array}">
          name:${student.name}---age:${student.age}<br/>
      </c:forEach>

3、自定义标签:

当JSTL标签库已经无法满足我们的需求时候,就需要自己开发自定义标签,来满足我们的需求,自定义标签实际上是一个普通的java类,继承SimpleTagSupport类。