亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > 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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久国产精品亚洲一区| 国产成人短视频| 伊人成人开心激情综合网| 亚洲精品成人久久电影| 日韩视频免费大全中文字幕| 国产美女主播一区| 欧美日韩午夜视频在线观看| 国内精品久久久久影院 日本资源| 欧美激情videos| 久久91精品国产91久久跳| 草民午夜欧美限制a级福利片| 亚洲xxxx妇黄裸体| 91精品视频在线看| 国产精品v日韩精品| 亚洲男人天堂久| 久久中文字幕一区| 91国语精品自产拍在线观看性色| 91精品国产综合久久男男| 欧美制服第一页| 欧美日韩亚洲91| 欧美色视频日本版| 中文字幕在线亚洲| 亚洲国产第一页| 亚洲欧洲xxxx| 亚洲毛片在线观看| 日韩经典一区二区三区| 欧美精品免费看| 亚洲精品乱码久久久久久金桔影视| 久久免费少妇高潮久久精品99| 亚洲最新视频在线| 国产亚洲精品成人av久久ww| 国产美女久久久| 91精品免费看| 亚洲福利在线播放| 亚洲精品美女久久| 国产一区二区三区丝袜| 日韩国产欧美精品一区二区三区| 欧美性理论片在线观看片免费| 奇米一区二区三区四区久久| 国产不卡一区二区在线播放| 亚洲精品一区二区在线| 91香蕉亚洲精品| 国产激情久久久久| 91精品综合视频| 国产suv精品一区二区三区88区| 国产美女扒开尿口久久久| 国产精品久久一区主播| 国产精品色婷婷视频| 成人激情视频在线| 欧美激情一区二区三区高清视频| 久久九九有精品国产23| 中文字幕在线日韩| 成人免费看吃奶视频网站| 日本成人精品在线| 国产成人综合久久| 国内精品久久久久久久| 国产成人精品一区二区三区| 欧美激情国产日韩精品一区18| 欧美视频中文字幕在线| 亚洲aa中文字幕| 日产精品99久久久久久| 欧美视频在线视频| 欧美影院在线播放| 欧美激情手机在线视频| 中国china体内裑精亚洲片| 福利微拍一区二区| 国产亚洲精品一区二555| 26uuu国产精品视频| 欧美国产日韩免费| 黄色一区二区三区| 久久精品成人欧美大片古装| 国产精品亚洲视频在线观看| 欧美二区乱c黑人| 久久97精品久久久久久久不卡| 亚洲人成在线免费观看| 97在线免费观看| 欧美黑人国产人伦爽爽爽| 久久久电影免费观看完整版| 亚洲视频一区二区| 日韩日本欧美亚洲| 视频在线观看99| 91日韩在线视频| 国产又爽又黄的激情精品视频| 国产在线视频2019最新视频| 亚洲精品xxxx| 最新中文字幕亚洲| 国产日韩欧美在线视频观看| 亚洲女人天堂网| 国产不卡视频在线| 欧美日韩午夜激情| 国产精品福利久久久| 青青久久av北条麻妃黑人| 91地址最新发布| 亚洲成人激情小说| 亚洲欧美国产日韩中文字幕| 神马久久桃色视频| 日韩网站免费观看| 成人女保姆的销魂服务| 久久69精品久久久久久久电影好| www.欧美精品一二三区| 亚洲精品国产品国语在线| 欧美性69xxxx肥| 欧美在线性视频| 国产精品一区二区三区在线播放| 国产成人福利网站| 1769国产精品| 欧美噜噜久久久xxx| 2019av中文字幕| 国产美女精品视频| 午夜免费在线观看精品视频| 亚洲综合视频1区| 国产福利视频一区| 亚洲天堂日韩电影| 成人黄色av网| 国外成人在线直播| 日韩高清av在线| 亚洲一区二区三区xxx视频| 欧美日韩成人在线观看| 国产视频精品xxxx| 国产亚洲精品综合一区91| 亚洲人成电影在线观看天堂色| 久久天天躁狠狠躁夜夜av| 亚洲精品国产综合区久久久久久久| 欧美一级黑人aaaaaaa做受| 久久国产精品电影| 国内精品久久久久久影视8| 国产精品黄页免费高清在线观看| 精品二区三区线观看| 久久偷看各类女兵18女厕嘘嘘| 国产精品久久久久久久午夜| 免费不卡在线观看av| 日韩av在线高清| 亚洲成色777777在线观看影院| 日韩黄色在线免费观看| 欧美一乱一性一交一视频| 日韩高清电影免费观看完整| 亚洲最大的av网站| 欧美片一区二区三区| 92福利视频午夜1000合集在线观看| 国产999精品久久久影片官网| 亚洲午夜久久久久久久| 久久久久久久久久国产| 欧美精品在线免费| 亚洲一区二区三区在线免费观看| 欧美成人剧情片在线观看| 日本伊人精品一区二区三区介绍| 国产成人综合精品| 日韩精品免费在线观看| 国产精品自产拍在线观看| 欧美日韩国产成人在线观看| 亚洲一区二区三区久久| 2019中文字幕在线免费观看| 中文字幕精品一区久久久久| 亚洲精品xxx| 国产乱肥老妇国产一区二| 97avcom| 亚洲成人网久久久| 日韩欧美a级成人黄色| 97在线精品视频| 一本色道久久综合亚洲精品小说| 成人黄在线观看| 国产精品久久久一区| 97久久久久久| 色多多国产成人永久免费网站|