总结之tag标签文件使用

所谓标记库(tag library),是指由在JSP页面中使用的标记所组成的库。

JSP容器推出时带有一个小型的、默认的标记库。
当JSP 标准标记库(Standard Tag Library,JSTL)还未满足到项目需要时,就要自已封装自己的taglib
而自定义标记库是人们为了某种特定的用途或者目的,
将一些标记放到一起而形成的一种库。
tag文件是以tag为后缀名的文本文件。作为自定义的标记库,除了jsp页面指令外,其他JSP元素都可以出现在tag文件中

页面引用格式
<%@ taglib prefix=“ui” tagdir="/WEB-INF/tags" %>
tagdir:用于指定tag文件目录,当页面使用<ui:xxxx>进,会查找该目录下对应的xxxx.tag文件。

prefix:指定使用时标签前缀

使用格式

<ui:xxxx></ui:xxxx>

例子:<ui:tagDemo><ui:tagDemo>

tag文件添加属性:当tag文件需要引用页面传入参数时,就需要在tag文件中填加属性。
定义属性格式

<%@ attribute name="attributename" required="true" type="com.myapp.util.ListPage" %>

name(必须):属性名

required(必须):指定是否必须传

type(可选):指定属性类型。

tag文件获得传入参数值

String attributename=(String) pageContext.getAttribute(“attributename”);

或者在jsp元素中使用${pageScope.attributename}

也可使用<jsp:doBody/> 获取引用页面标签内的body内容。

Tag文件
<%@tag pageEncoding="UTF-8" isELIgnored="false" %>
!--%@tag pageEncoding="UTF-8" isELIgnored="false" body-content="empty"%> --
<!--body-content="empty"表明使用标签时,标签内不能有内容 -->
 
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ attribute name="user" required="true" type="java.util.List" %>
<%@ attribute name="url" required="true"%>
<%@ attribute name="color" required="false" %>
<table width="400" cellpadding="5"  bgcolor="${pageScope.color}"> 

     <tr> 
         <td> 
            ${pageScope.url} <jsp:doBody/>
         </td> 
     </tr>
</table>
<select>
<c:forEach var="user" items="${userList }">
    	<option value="${user.id }" <c:if test="${user.id eq selectedVal}"> selected="selected"</c:if>>${user.name}</option>
</c:forEach>
</select>
jsp文件
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=11">
<meta name="renderer" content="webkit">
<title>Insert title here</title>
<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>
<%@page import="com.maniy.User"%>
</head>
<body>
<%
List<User> userList=new ArrayList<User>();
  User user=new User();
  user.setId(1);
  user.setName("liao");
  userList.add(user);

	 <tags:tagDemo url="tagDemo.jsp"  userList="<%=userList%>" color="red">这是我传入的Body内容</tags:tagDemo>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值