国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

jsp通過自定義標簽庫實現數據列表顯示的方法

2020-07-27 21:29:14
字體:
來源:轉載
供稿:網友

本文實例講述了jsp通過自定義標簽庫實現數據列表顯示的方法。分享給大家供大家參考,具體如下:

1. 定義標簽庫類 UserListTag.java

package com.yanek.cms.tag;import java.io.IOException;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import javax.servlet.jsp.JspException;import javax.servlet.jsp.tagext.BodyTagSupport;import com.yanek.cms.vo.UserInfo;public class UserListTag extends BodyTagSupport { private String name;// 一個屬性名 private Iterator it;// 要迭代的對象 private int cateid; // 用戶類別id @Override public int doEndTag() throws JspException { try {  if (bodyContent != null) {  bodyContent.writeOut(bodyContent.getEnclosingWriter());  } } catch (IOException e) {  e.printStackTrace(); } return EVAL_PAGE; } @Override public int doStartTag() throws JspException { //這里根據用戶類型,構造不同的列表數據,實現可以根據數據庫獲取 List<UserInfo> users = new ArrayList<UserInfo>(); if (cateid == 1) {  users.add(new UserInfo("張三", 20, "Zhangsan@163.com"));  users.add(new UserInfo("李四", 30, "Lisi@sina.com")); } else {  users.add(new UserInfo("王五", 33, "Wangwu@qq.com"));  users.add(new UserInfo("趙六", 33, "zhaoliu@qq.com")); } it = users.iterator(); if (it == null) {  return SKIP_BODY; } else {  return continueNext(); } } private int continueNext() { if (it.hasNext()) {  pageContext.setAttribute(name, it.next(), pageContext.PAGE_SCOPE);  return EVAL_BODY_TAG; } else {  return SKIP_BODY; } } @Override public int doAfterBody() { return continueNext(); } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getCateid() { return cateid; } public void setCateid(int cateid) { this.cateid = cateid; }}

2. 在WEB-INF目錄下 新建標簽庫描述文件my_cms_tag.tld:

my_cms_tag.tld

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd"><taglib><tlibversion>1.0</tlibversion><jspversion>1.0</jspversion><shortname>cms</shortname><uri>http://www.58tech.cn/mystruts/tags-cms</uri><!-- userListTag start -->  <tag>    <name>userListTag</name>    <tag-class>com.yanek.cms.tag.UserListTag</tag-class>    <body-content>jsp</body-content>   <variable>    <!--<name-given>user_info</name-given>-->    <name-from-attribute>name</name-from-attribute>    <variable-class>com.yanek.cms.vo.UserInfo</variable-class>    <declare>true</declare>    <scope>NESTED</scope>   </variable>    <attribute>    <name>name</name>    <required>true</required>    </attribute>    <attribute>    <name>cateid</name>    <required>true</required>    </attribute></tag><!-- userListTag end --></taglib>

3. web.xml配置

<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5"  xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <welcome-file-list>  <welcome-file>index.jsp</welcome-file> </welcome-file-list> <taglib>   <taglib-uri>/tags/my-cms</taglib-uri>   <taglib-location>/WEB-INF/my_cms_tag.tld</taglib-location> </taglib></web-app>

4. jsp調用

<%@ page language="java" import="java.util.*,com.yanek.cms.vo.*" pageEncoding="UTF-8"%><%@ taglib uri="/tags/my-cms" prefix="myTag" %><%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 'test.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><table width='500px' border='1' align='center'>  <tr>    <td width='20%'>UserName</td>    <td width='20%'>Age</td>    <td>Email</td>  </tr><myTag:userListTag name="user_info1" cateid="1">     <tr>      <td><%=user_info1.getUserName() %></td>      <td><%=user_info1.getAge() %></td>      <td><%=user_info1.getEmail() %>      </td>    </tr> </myTag:userListTag></table><hr><table width='500px' border='1' align='center'>  <tr>    <td width='20%'>UserName</td>    <td width='20%'>Age</td>    <td>Email</td>  </tr><myTag:userListTag name="user_info2" cateid="2">    <tr>      <td><%=user_info2.getUserName() %></td>      <td><%=user_info2.getAge() %></td>      <td><%=user_info2.getEmail() %>      </td>    </tr> </myTag:userListTag></table> </body></html>

實體類定義

package com.yanek.cms.vo;public class UserInfo { private int age; private String userName; private String email; public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public UserInfo(String userName,int age, String email) { super(); this.age = age; this.userName = userName; this.email = email; } public UserInfo() { }}

運行效果如下圖 (URL輸入:http://127.0.0.1:8080/TestCMS/page/userlist.jsp)

完整實例代碼代碼點擊此處本站下載。

希望本文所述對大家Android程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宜章县| 定陶县| 闵行区| 富锦市| 无为县| 石门县| 利辛县| 汤阴县| 渭源县| 阜新市| 平度市| 大关县| 灵武市| 香河县| 扎赉特旗| 高台县| 容城县| 平泉县| 阜南县| 宁国市| 普兰县| 凤山市| 大庆市| 乌拉特中旗| 益阳市| 西贡区| 临泉县| 福州市| 会昌县| 武陟县| 白水县| 门源| 信丰县| 锦州市| 沧州市| 渝中区| 岑溪市| 库尔勒市| 武汉市| 德庆县| 息烽县|