JSP标签使用案例

JSP标签01(超详细) 指令标签用于通知JSP引擎如何处理JSP页面或应包含哪些资源。通常包含page、include、taglib等标签。page指令可以设置页面的属性,如编码方式、session的属性等。include指令可以将其他JSP页面或HTML文档嵌入到当前JSP页面中。taglib指令用于从标签库中导入标签。自定义标签是指根据开发者自身需求新建的标签。开发者需要创建一个TLD文件,对自定义标签进行描述,包括标签名称、描述、使用属性等。在jsp页面中需要使用自定义标签时,需要在头部引入标签库描述文件,并使用该标签。 阅读详情

JSP标签

最近无聊,在网上看到很多JSP的博客,各种如何标签定义,恶心到不行...一怒之下写了几百行代码,常用的标签都写了实际使用的案例,效果图来一张


大致就这样了,下面贴代码

JSP页面代码

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page import="com.dfs.pojo.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%
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>JSP标签</title>
  </head> 
  <style type="text/css">
  	#ctrlDiv{
  		width: 100% ;
  		height: 1500px ;
  		background-color: yellow ;
  	}
  	.tagDiv1{
  		width: 40% ;
  		height: 1500px ;
  		float: left ;
  		background-color: #E8F2FE ;
  	}
  	.tagDiv2{
  		width: 30% ;
  		height: 1500px ;
  		float: left ;
  		background-color: #F0F0F0 ;
  	}
  	.tagDiv3{
  		width: 30% ;
  		height: 1500px ;
  		float: left ;
  		background-color: #99BFF1 ;
  	}
  	h3{
  		color: red ;
  	}
  </style> 
  <body>
  <%
	  	int [] ages = {1,2,3,4,5,6} ;
	  	
	  	List<String> list = new ArrayList<String>() ;
	  	list.add("hello1") ;
	  	list.add("hello2") ;
	  	list.add("hello3") ;
	  	
	  	// 重复内容不被遍历
	  	Set<String> set = new TreeSet<String>(); // Set
		set.add("One");
		set.add("One");
		set.add("Two");
		set.add("Three");
		set.add("Set");
		
		Map<String, String> map = new HashMap<String, String>(); // Map
		map.put("1", "黄彪");
		map.put("2", "丫头");
		map.put("3", "哥哥");
		map.put("4", "笨蛋");
		
		List<User> users = new ArrayList<User>(); // JavaBean的List
		users.add(new User("黄彪", "xxxxxx"));
		users.add(new User("昊天", "xxxxxx"));
		users.add(new User("姐姐", "yyyyyy"));
		users.add(new User("丫头", "zzzzzz"));
		
		session.setAttribute("users", users); // 添加到session
	%>
  	<div id="ctrlDiv">
  		<div class="tagDiv1">
  			<center>
  				<h1>数据显示C标签</h1>
	  			<h3>C:OUT标签</h3>
			  	<c:out value="${null}" default="没有数据"></c:out><br/>
			  	<c:out value="<要显示的数据对象(未使用转义字符)>" escapeXml="true" default="默认值"/><br/>
			  	<c:out value="<要显示的数据对象(使用转义字符)>" escapeXml="false" default="默认值"/><br/>
			  	
			  	<h3>C:SET标签</h3>
			  	<c:set var="salary" scope="session" value="${2000*2}"/>
			  	<c:out value="${salary}"/><br/>
			  	
			  	<h3>C:REMOVE标签</h3>
			  	<c:remove var="salary"/>
			  	<c:out value="${salary}" default="Salary数据被删除"/><br/>
			  	
			  	<h3>C:CATCH标签</h3>
			  	<c:catch var="catchException">
			  		<% int i = 1 / 0 ; %>
			  	</c:catch>
			  	<c:if test="${catchException!=null}">
			  		异常:${catchException}<br/>
			  		信息:${catchException.message}
			  	</c:if><br/>
			  	
			  	<h3>C:IF标签</h3>
			  	<c:set var="mysalary" scope="session" value="${3500*2}"/>
			  	<c:if test="${mysalary>5000}">
			  		我们涨工资了:
			  		<c:out value="${mysalary}"/>
			  	</c:if><br/>
			  	
			  	<h3>C:CHOOSE标签</h3>
			  	<c:choose>
			  		<c:when test="${mysalary<0}">
			  			啃老族...
			  		</c:when>
			  		<c:when test="${mysalary<5000}">
			  			月光族...
			  		</c:when>
			  		<c:otherwise>
			  			逆天了...
			  		</c:otherwise>
			  	</c:choose><br/>
			  	
			  	<h3>C:IMPORT标签</h3>
			  	<c:import var="data" url="http://www.baidu.com"/>
			  	<c:out value="看代码..."/>
			  	<!-- <c:out value="${data}"></c:out> --><br/>
			  	
			  	<h3>C:PARAM实例</h3>
				<c:url var="myURL" value="main.jsp">
					<c:param name="name" value="Runoob"/>
					<c:param name="url" value="www.runoob.com"/>
				</c:url>
			    <a href="/<c:out value="${myURL}"/>">为指定URL发送两个参数</a>
			  	
			  	<h3>C:forEach循环遍历</h3>
			  	<c:forEach var="ageArray" items="<%=ages %>">
			  		<c:out value="${ageArray}"/>
			  	</c:forEach><br/>
				<c:forEach var="nameList" items="<%=list %>">
				    <c:out value="${nameList}" />
				</c:forEach><br/>
				<c:forEach var="nameSet" items="<%=set %>">
					<c:out value="${nameSet}" />
				</c:forEach>
				<table>
					<tr>
						<th>KEY</th>
						<th>VALUE</th>
					</tr>
					<c:forEach var="entry" items="<%=map %>">
						<tr>
							<td><c:out value="${entry.key}"/></td>
							<td><c:out value="${entry.value}"/></td>
						</tr>
					</c:forEach>
				</table>
				<table>
					<tr>
						<th>姓名</th>
						<th>说明</th>
					</tr>
					<c:forEach var="user" items="${users}">
						<tr>
							<td><c:out value="${user.name}"/></td>
							<td><c:out value="${user.say}"/></td>
						</tr>
					</c:forEach>
				</table>
				
				<h3>c:forTokens标签</h3>
				<c:forTokens var="name" items="hello1,hello2,hello3" delims=",">
					<c:out value="${name}" />
				</c:forTokens>
				<c:forTokens var="heList" items="${list}" delims=",">
					<c:out value="${heList}" />
				</c:forTokens>
				
				<h3>c:REDIRECT标签</h3>
				自动跳转到指定的URL
			</center>
  		</div>
  		<div class="tagDiv2">
  			<center>
  			<h1>数据格式FMT标签</h1>
  			<h3>fmt:formatNumber标签</h3>
  			<c:set var="balance" value="120000.2309" />
  			格式化数字 (1): <fmt:formatNumber value="${balance}" type="currency"/><br/>
  			格式化数字 (2): <fmt:formatNumber type="number" maxIntegerDigits="3" value="${balance}" /><br/>
  			格式化数字 (3): <fmt:formatNumber type="number" maxFractionDigits="3" value="${balance}" /><br/>
			格式化数字 (4): <fmt:formatNumber type="number" groupingUsed="false" value="${balance}" /><br/>
			格式化数字 (5): <fmt:formatNumber type="percent" maxIntegerDigits="3" value="${balance}" /><br/>
			格式化数字 (6): <fmt:formatNumber type="percent" minFractionDigits="10" value="${balance}" /><br/>
			格式化数字 (7): <fmt:formatNumber type="percent" maxIntegerDigits="3" value="${balance}" /><br/>
			格式化数字 (8): <fmt:formatNumber type="number" pattern="###.###E0" value="${balance}" /><br/>
			美元 :<fmt:setLocale value="en_US"/>
			<fmt:formatNumber value="${balance}" type="currency"/><br/>
			
			<h3>fmt:parseNumber标签</h3>
			<fmt:parseNumber var="i" type="number" value="${balance}" />
			数字解析 (1) :<c:out value="${i}"/><br/>
			<fmt:parseNumber var="j" integerOnly="true" type="number" value="${balance}" />
			数字解析 (1) :<c:out value="${j}"/><br/>
			
			<h3>fmt:formatDate标签</h3>
			<c:set var="now" value="<%=new java.util.Date() %>"></c:set>
			普通输出:<c:out value="${now}"/><br/>
			TIME格式:<fmt:formatDate type="time" value="${now}" /><br/>
			DATE格式:<fmt:formatDate type="date" value="${now}" /><br/>
			BOTH格式:<fmt:formatDate type="both" value="${now}" /><br/>
			<fmt:formatDate type="both" dateStyle="short" timeStyle="short" value="${now}" /><br/>
			<fmt:formatDate type="both" dateStyle="medium" timeStyle="medium" value="${now}" /><br/>
			<fmt:formatDate type="both" dateStyle="long" timeStyle="long" value="${now}" /><br/>
			格式化日期:
			<fmt:formatDate pattern="yyyy-MM-dd" value="${now}"/><br/>
			<fmt:formatDate pattern="yyyy-MM-dd hh:mm:ss" value="${now}"/><br/>
			<fmt:formatDate pattern="yyyy/MM/dd" value="${now}"/><br/>
			
			<h3>fmt:parseDate标签</h3>
			<c:set var="myDate" value="20-10-2015" />
			<fmt:parseDate value="${myDate}" var="parsedEmpDate" pattern="dd-MM-yyyy" />
			解析后的日期为: <c:out value="${parsedEmpDate}" /><br/>
			
			<h3>fmt:bundle标签</h3>
			<fmt:bundle basename="com.dfs.pojo.ExcmpleList" prefix="count.">
				<fmt:message key="one" />
				<fmt:message key="two" />
				<fmt:message key="three" />
			</fmt:bundle><br/>
			<fmt:bundle basename="com.dfs.pojo.ExcmpleList">
				<fmt:message key="count.one" />
				<fmt:message key="count.two" />
				<fmt:message key="count.three" />
			</fmt:bundle><br/>
			
			<h3>fmt:setBundle标签</h3>
			<fmt:setBundle basename="com.dfs.pojo.ExcmpleList" var="lang"/>
			<fmt:message key="count.one" bundle="${lang}"/><br/>
			<fmt:message key="count.two" bundle="${lang}"/><br/>
			<fmt:message key="count.three" bundle="${lang}"/><br/>
			
			<h3>Request请求编码</h3>
			UTF-8
			<fmt:requestEncoding value="utf-8"/><br/>
			
			<h3>fmt:timeZone标签</h3>
			<c:set var="mynow" value="<%=new java.util.Date()%>" />
		    <table border="1" width="100%">
		      <tr>
		        <td width="100%" colspan="2" bgcolor="#0000FF">
		          <p align="center">
		            <b>
		              <font color="#FFFFFF" size="4">Formatting:
		              <fmt:formatDate value="${mynow}" type="both"
		              timeStyle="long" dateStyle="long" />
		              </font>
		            </b>
		          </p>
		        </td>
		      </tr>
		      <tr>
		        <td width="51%">
		          <c:out value="${zone}" />
		        </td>
		        <td width="49%">
		          <fmt:timeZone value="${zone}">
		            <fmt:formatDate value="${mynow}" timeZone="${zn}" type="both" />
		          </fmt:timeZone>
		        </td>
		      </tr>
		    </table>
  			</center>
  		</div>
  		<div class="tagDiv3">
  			<center>
  			<h1>JSTL函数</h1>
  			<h3>判断包含函数</h3>
  			<c:set var="theString" value="I am from China" />
  			<c:if test="${fn:contains(theString,'China')}">
  				找出China
  			</c:if><br/>
  			<c:if test="${fn:containsIgnoreCase(theString,'CHINA')}">
  				找出CHINA
  			</c:if><br/>
  			
  			<h3>判断开头结尾函数</h3>
  			<c:if test="${fn:endsWith(theString,'na')}">
  				以na结尾
  			</c:if>
  			<c:if test="${fn:startsWith(theString,'I')}">
  				以I开头
  			</c:if>
  			
  			<h3>判断长度函数</h3>
  			<c:out value="${fn:length(theString)}" />
  			
  			<h3>分割字符串函数</h3>
  			<c:set var="newStr" value="${fn:split(theString,' ')}" />
  			<c:set var="strNew" value="${fn:join(newStr, '-')}" />
  			<c:out value="${strNew}" /><br/>
  			
  			<h3>大小写转换函数</h3>
  			${fn:toLowerCase(strNew)}<br/>
  			${fn:toUpperCase(strNew)}<br/>
  			
  			<h3>去空格函数</h3>
  			${fn:trim(theString)}<br/>
  			
  			<h3>替换函数</h3>
  			${fn:replace(theString,' ','-')}
  			</center>
  		</div>
  	</div>
  	
  </body>
</html>

两个POJO类

package com.dfs.pojo;

public class User {
	private String name ;
	private String say ;
	public User (String name,String say){
		this.name = name ;
		this.say = say ;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getSay() {
		return say;
	}
	public void setSay(String say) {
		this.say = say;
	}

}

package com.dfs.pojo;

import java.util.ListResourceBundle;

public class ExcmpleList extends ListResourceBundle {
	 static final Object[][] contents = {
		  {"count.one", "One"},
		  {"count.two", "Two"},
		  {"count.three", "Three"},
	 };
	@Override
	public Object[][] getContents() {
		return contents;
	}
}

代码都是运行过的应该是没有错误的...
祝大家工作顺利,天天开心!
JSP实例编程100例 顺序如下: 1、多种字体大小显示 2、c:out标记输出 3、获取当前时间 4、include包含语句 5、建立错误处理页面的范例程序 6、jsp:forward 7、简单计数器 8、设置页面属性 9、使用GB2312编码 10、使用Big5编码 11、c:catch的用法 12、 begin、end和step的用法 13 、 循环 14、 varStatus 的四种属性 15、 的用法 16、从客户端传送数据至服务端 17、使用Unicode转义字符 18、使用朝鲜语字符集 19、JSP中最简单的国际化程序 20、错误检测 21、抛出异常 22、 的用法 23、和 的用法 24、 的用法 25、jsp-include的用法 26、汉字处理 27、网页重定向 28、自动更新网页 29、存取session 30、 的用法 31、单选型列表框 32、jsp文件中定义类 3 3、取得 JSP Container 版本 34、javax.servlet.jsp.JspWriter - out 对象 35、page 隐含对象 36、application 对象 37、PageContext 对象 38、Page范围 - pageContext 39、测试要显示的中文 40、IF控制符的操作 41、HttpServletRequest 接口所提供的方法 42、 网上测验 43、HttpSession - session 对象 44、 多选型列表框 45、解决浏览器 cache 的问题 46、使用 EL、JSTL 处理表单数据 47、 EL隐含对象 param、paramValues 48、EL隐含对象 pageContext 49、EL算术运算符 50、EL关系运算符 51、EL的运算符 52、选择钮的使用 53、检查框的使用 54、群组检查框的使用 55、数字、货币、百分数格式化 56、日期格式化 57、JSTL设置语言地区 58、Cookie数据的存取 59、session有效时间的设置与取得 60、session时间与ID 61、Cookie有效时间的设置 62、利用隐藏字段传送数据 63、JSP 使用 JavaBean 的方法 64、JSP 使用 JavaBean 65、范围为 Page 的 JavaBean范例程序 66、范围为 Request的 JavaBean 67、范围为 Session 的 JavaBean 68、范围为 Application 的 JavaBean 69、删除 JavaBean 70、url重组 71、Switch语句 72、环境变量 73、forward重定向 74、文件的建立与删除 75、取得文件属性 76、取得目录中的文件 77、目录的建立与删除 78、自Cookie存取日期/时间数据 79、管理Session变量 80、数据库中的记录数与记录指针位置 81、利用absolute方法设置记录位置 82、使用jsp指令生成Word文档 83、JSP网页模板 84、判断是否空白文件 85、cookie 用户登录次数 86、获取用户的真实IP地址 87、获取用户的浏览器信息 88、在客户端进行数据检查 89、在JSP中获取当前绝对路径 90、读取表单中所有参数 91、分行写入数据 92、显示请求URL 93、判断session是否过期 94、参数式查询数据库 95、取得数据库中各栏名称 96、使用JavaBean、设置和获取Bean的属性 97、设置Bean的一个属性与输入参数关联 98、实现基于数据库的站内搜索 99、DOM读取XML文档 100、SAX读取XML文档 立即下载

相关推荐

晶圆测试厂wafer map管理建议

按照Recipe设定bin定义 应有版本管理概念,一般使用最新版本做为活动版本即可 Bin明细中应包含 BinID、BinCode、BinName、BinType、BinColor、Description BinID可使用数字类型 BinCode可参照实际机台的Bin,用于匹配 有些公司也将BinID、BinCode理解为SBin和HBin 即 Software Bin & Hardware Bin 一般也将BinID对应到客户的Bin BinType

凯神做开发 1万+

JavaWEB(JSP标准动作标签&购物车项目布置)

一、JSP动作标签(常用的6个) 1.<jsp:include> a.概述 这个动作标签可以将另一个文件的内容包含到当前的JSP页面内。被包含的文件内容可以是静态文本也可以是动态代码。 b.格式 <jsp:include page="url" flush="false|true"/> page:用于指定被包含文件的相对路径。 flus...

XiaoLiangyaya的博客 648

FPGA实现Gardner环定时同步:Verilog代码与Testbench实战解析

本文深入解析了在FPGA上实现Gardner环定时同步的完整过程,详细阐述了其非数据辅助的定时误差检测原理。通过Verilog代码实战,展示了内插滤波器、定时误差检测器、环路滤波器和数控振荡器等核心模块的设计,并提供了完整的Testbench验证方法,帮助开发者解决数字通信系统中的时钟同步难题。

gpt4scribbler的博客 576

jsp 的常用标签(重点****)

什么是监听器?监听器就是实时监视一些事物状态的程序,我们称为监听器。就好像朝阳群众?朝阳区只要有哪个明星有什么不好的事,他们都会知道,然后举报。那么朝阳群众就是监听器,明星就是被监视的事物,举报就是响应的内容。又或者说是,电动车的报警器。当报警器锁上的时候。我们去碰电动车,电动车就会报警。报警器,就是监听器,电动车就是被监视的对象。报警就是响应的内容。

一个菜鸡的博客 895

TCP Reno/CUBIC 拥塞控制算法对比:从 Tahoe 到 BBR 的 4 种核心策略演进

本文深入解析了TCP拥塞控制算法的演进历程,从经典的Tahoe、Reno到现代的CUBIC和BBR,详细对比了4种核心策略的实现机制与性能差异。通过分析拥塞窗口、流量控制等关键技术,揭示了不同算法在高带宽延迟网络中的优化方向,为网络协议栈优化提供理论依据和实践指导。

weixin_33725239的博客 439

数字蓝牙功放

数字蓝牙功放(TPA3110+BK8000L),基于D类数字功放芯片TPA3116蓝牙功放,HIFI级带滤波15Wx2蓝牙数字功放,支持有线和蓝牙两种音源输入

runweipa的博客 1419

JSP的使用

jsp全称Java Server Pages(Java 的服务器页面),是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。JSP是一种,主要用于实现Java web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。JSP 这门技术的最大的特点在于,写 JSP 就像在写 HTML相比 html 而言,html 只能为用户提供静态数据,而 JSP 技术允许在页面中嵌套 java 代码,为用户提供动态数据。

喃灬疯的博客 4345

【Burp入门第三十三篇】BurpSuite+Proxifier安装配置,实现微信小程序抓包

本文介绍Burp+Proxifier安装配置,实现微信小程序抓包

等风来 5873

JSP页面的构成总结

JSP页面主要由指令标签、HTML标记语言、注释、嵌入的JAVA代码、JSP动作标签等组成。所有的JSP页面在执行之前会被服务器解析成servlet。 1.JSP指令标签 指令标签不会产生任何的输出内容到页面中,主要用来定义整个页面的相关信息。语法格式如下: 其中:directive:指令的名称,可以为page、include和taglib其中的之一。 attribute:属性名称,不

Qunzer 2388

SOEM主站开发篇(1):移植SOEM主站到Linux开发板

详细介绍了SOEM主站源码移植到Linux开发板上的步骤,同时演示了如何使用Linux开发板获取EtherCAT从站的PDO映射信息。

kevin1499的博客 2396

(王道408考研操作系统)第三章内存管理-第一节1:内存基础知识、程序编译运行原理

注意:本节内容和《计算机组成原理》“存储器”那一部分内容相关性很强,组成原理是从硬件角度,操作系统是从软件角度。因此如果没有学习过这部分的同学,强烈建议先看这一部分 王道计算机组成原理笔记 本文主要会涉及以下必要的内存知识 文章目录一:内存及其作用 一:内存及其作用 内存:内存又称之为主存。是一种硬件设备,作为CPU和硬盘的缓冲区,用于解决其速度不匹配的问题,提高整机性能。程序执行前需要放入内存才能运行 ...

快乐江湖的博客 2791

jsp自定义标签案例

jsp自定义标签案例 案例一:c:set和c:out标签的定义 1.定义两个助手类,全部继承BodyTagSupport SetTag package com.ningjie; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.BodyTagSupport; public class SetTag ex...

weixin_45180769的博客 256

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

jsp自定义标签02(案例)

jsp自定义标签(案例)前言1、自定义标签开发步骤2、实战自定义标签(set ,out,if,foreach,select)2.1自定义set标签2.2 自定义out标签2.3 自定义if标签2.3 自定义foreach标签 前言 在本人上一篇博客中写了jsp自定义标签的概念,已经认识了自定义标签,这次我们来动手实战 链接: jsp自定义标签01. 1、自定义标签开发步骤 第一步:助手类 第二步:.tld文件 第三步:jsp界面引用标签,taglib 2、实战自定义标签(set ,out,if,foreac

men_ma的博客 579

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Jsp标签案例

目录一、自定义foreach标签二、自定义select标签 路线二和路线三在标签体中的返回值不同,foreach标签之所以能够同时验证路线二和路线三是因为我们使用迭代器遍历时,对数据进行一个判断,it.hasNext是否有下一个值,如果有的话我们就继续拿到它的值并进行储存,进行执行,返回值是return EVAL_BODY_AGAIN;如果没有的话,则执行后续代码也就是返回EVAL_PAGE; 3、jsp界面引用 运行效果: 2、tld类 3、jsp界面引用 可以

m0_67477525的博客 423

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

jsp-简单标签及案例

试图:

以后的23,725天,每一天都是精彩的,现在做,一切还来的及,相信自己! 450

三个标签案例:帮你深入学习JSP自定义标签

三个标签案例:帮你深入学习JSP自定义标签

王洋的专栏 2929

JSP自定义标签案例

JSP自定义标签 想了解jsp的一些原理,可以参考我的上篇博客,今天我们继续更深一步的了解jsp标签 我们要准备三步 助手类,文件**.tld**,最后调用taglib 先从简单的 set,out,if开始 foreach,select结尾 记住助手类都要继承BodyTagSupport set set标签里有两个属性值 var 和 value(object类型),在实体类中进行封装,调用do...

钰团的博客 254

自定义jsp标签案例

自定义jsp标签

阳某的博客 490

JSP快速入门 & EL表达式 & JSTL标签 & MVC模式案例

今日目标:==JSP(全称:Java Server Pages):Java 服务端页面。==是一种动态的网页技术,其中既可以定义 HTML、JS、CSS等静态内容,还可以定义 Java代码的动态内容,也就是 。如下就是jsp代码 上面代码 标签内容是展示在页面上,而 Java 的输出语句是输出在 idea 的控制台。那么,JSP 能做什么呢?现在我们只用 实现功能,看存在什么问题。如下图所示,当我们登陆成功后,需要在页面上展示用户名上图的用户名是动态展示,也就是谁登陆就展示谁的用户名。只用 如何实现呢

coderge's 优快云 Blog. 605

JSP简单标签的总结及案例

一、控制页面部分内容是否输出1.控制页面部分内容输出public void doTag() throws JspException,IOException{ JspFragment jf=this.getJspBody(); jf.invokee(null);//或jf.invoke(this.getJspContext().getOut()); }2.控制页面部分内容不输出publ

红尘多可笑的博客 526

JSP标签案例----开发If-else和单独的if标签

首先是开发一个if标签,先是实现类 package com.bird.web.tag.example; import java.io.IOException; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.SimpleTagSupport; public class IfTag extends ...

weixin_30843605的博客 84

JSP标签案例-开发防盗链标签

JSP标签案例-开发防盗链标签   盗链是指服务提供商自己不提供服务内容,通过技术手段绕过其他有利益的最终用户界面(如广告),直接在自己的网站上向最终用户提供其他服务提供商的服务内容,片区最终用户的浏览和点击率.受益者不提供资源或是提供很少的资源,而真正的服务提供商却得不到任何的收益.   解决途径: 限制引用页 这种防盗链原理是,服务器获取用户提交信息的网站地址,然后和真正的服务端的地

755
上一篇: Target runtime Apache Tomcat v6.0 is not defined
午-夜
博客等级 码龄12年 95粉丝 133原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值