Jsp自定义标签
1、演示viewIP
1)演示jsp中java代码实现
2)自定义标签实现
2、演示传统自定义标签(jsp2.0以前的)
1)使用自定义标签控制页面内容(标签体)是否输出,利用doStartTag()的返回值控制
returnthis.SKIP_BODY;//忽略标签体
returnthis.EVAL_BODY_INCLUDE;//执行标签体
2)控制整个jsp的输出
利用doEndTag()的返回值控制
returnthis.SKIP_PAGE;//跳过页面标签后余下的jsp代码
returnthis.EVAL_PAGE;//继续执行余下jsp代码
3)自定义标签实现内容(标签体)循环输出
利用Tag子接口Iteration中定义的doAfterBody()和返回值EVAL_BODY_AGAIN,SKIP_BODY实现
a)先覆盖doStartTag()方法,返回EVAL_BODY_INCLUDE
b)覆盖doAfterBody()
publicintdoAfterBody()throwsJspException{
times++;
intresult=this.EVAL_BODY_AGAIN;
if(times>4){
result=this.SKIP_BODY;
}
returnresult;
}
|
4)自定义标签修改内容(标签体)EVAL_BODY_BUFFERED;
标签处理类:
c)继承BodyTagSupport
d)覆盖doStartTag(),并返回EVAL_BODY_BUFFERED;
e)覆盖doEndTag()
publicintdoEndTag()throwsJspException{
BodyContentbc=this.getBodyContent();
Stringc=bc.getString();
c=c.toUpperCase();
JspWriterout=this.pageContext.getOut();
try{
out.write(c);
}catch(IOExceptione){
thrownewRuntimeException(e);
}
returnthis.EVAL_PAGE;
}
|
|
|
3、作业
实现一个自定义标签,
功能:判断一个YYYY-MM-DD格式的日期修改为下面格式输出
年:YYYY
月:MM
日:DD
package com.csdn.view;
import java.io.IOException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.BodyContent;
import javax.servlet.jsp.tagext.BodyTagSupport;
public class ViewDateDemo extends BodyTagSupport {
@Override
public int doEndTag() throws JspException {
// TODO Auto-generated method stub
BodyContent bc= this.getBodyContent();
String c = bc.getString();//以字符串类型获取那个body里的内容
String[] result = c.split("-");//以-分数组,
JspWriter out = this.pageContext.getOut();//获取out输出
try {
out.print("年:"+result[0]+"<br>");//获取数组的第一个元素
out.print("月:"+result[1]+"<br>");//获取数组的第一个元素
out.print("日:"+result[2]+"<br>");//获取数组的第一个元素
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return EVAL_PAGE;
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<description>A tag library exercising SimpleTag handlers.</description>
<tlib-version>1.0</tlib-version>
<short-name>csdn</short-name>
<uri>http://www.csdn.com</uri>
<tag>
<!--<description></description>-->
<name>ViewIP</name>
<tag-class>com.csdn.view.ViewIPTest</tag-class>
<body-content>empty</body-content>
</tag>
<tag>
<!--<description></description>-->
<name>ViewDate</name>
<tag-class>com.csdn.view.ViewDateDemo</tag-class>
<body-content>JSP</body-content>
</tag>
</taglib>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="http://www.csdn.com" prefix="csdn" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'viewDate.jsp' starting page</title
</head>
<body>
<csdn:ViewDate>2012-11-17</csdn:ViewDate>
</body>
</html>
分享到:
相关推荐
这包括在JSP中编写Java脚本let或使用自定义标签库(如JSTL)来执行SQL查询。结果通常会被映射到Java集合对象,然后可以通过JSP表达式语言(EL)或脚本let在页面上显示。 **安全性和最佳实践:** 作业可能还会涉及...
【JSP foreach 标签详解】 ...通过这样的实现,学生不仅掌握了JSP的foreach标签的使用,还深入了解了自定义标签的创建和使用,这在企业级软件开发中是非常重要的技能,因为自定义标签能够提高代码的可读性和复用性。
3. **JSP标签库**:包括JSTL(JavaServer Pages Standard Tag Library)和其他自定义标签库。JSTL提供了一组标准标签,如`<c:if>`、`<c:forEach>`,它们简化了JSP页面的编写,使得代码更易读、更易维护。 4. **...
此外,自定义的标签库可以进一步扩展JSP的功能,提供更丰富的工具集给开发者使用。 - **跨平台与易用性**:JSP基于Java技术,可以跨平台运行,这意味着它可以在任何支持Java的平台上部署,无需额外的编译或配置。...
- `taglib`指令:引入自定义标签库。 3. **JSP脚本元素** - `! %>`:声明变量或方法,这些内容在服务器端执行。 - `<% %>`:内嵌Java代码块,可执行任何Java代码。 - `<%= %>`:输出表达式,将结果转化为字符串...
这里的"三个jsp大作业"可能指的是三个不同类型的项目,这些项目可能包括用户登录、商品展示、订单处理等常见的Web应用功能。每个大作业都会涉及与数据库的交互,例如用户注册信息的存储、商品数据的查询或订单状态的...
在JSP中,Model通常用JavaBean实现,View由JSP页面呈现,Controller可以是Servlet或自定义标签库。 3. JavaBean规范:JavaBean是符合特定规范的Java类,通常用于封装数据和业务逻辑。在班级信息管理中,JavaBean...
10. **JSP标签库**:可能使用了JSTL(JSP Standard Tag Library)或其他自定义标签库,提高代码可读性和可维护性。 11. **前端技术**:HTML、CSS和JavaScript的基础,它们与后端Java代码结合,构建出完整的交互式...
4. `src`:这是源代码目录,通常包含Java源文件,如JSP页面对应的Java后台处理类、自定义标签库的Java源码等。 5. `build`:此目录可能包含了项目的构建输出,比如编译后的class文件,或者是打包好的WAR(Web应用...
JSTL是用来简化JSP页面的标签库,包括核心标签、XML标签、SQL标签和函数标签。本项目中,JSTL的使用减少了Java脚本的量,使页面更清晰、易读,例如通过`<c:forEach>`遍历集合,`<fmt:formatDate>`格式化日期等。 **...
- `taglib`指令:引入自定义标签库。 七、JSP与Servlet的关系 JSP本质上是Servlet的一种简化形式,JSP页面在服务器端被转换为Servlet,然后执行。JSP侧重于视图,而Servlet更适合处理控制器职责,两者常结合使用在...
- **JSP标签库**:可以自定义或者使用内置的JSTL(JavaServer Pages Standard Tag Library)进行数据处理和控制流程。 #### JDBC Java Database Connectivity (JDBC) 是Java中用来与数据库交互的API。我们需要使用...
在JSP中,开发者可以使用JSP指令、脚本元素、表达式和自定义标签来实现网页的动态功能。 1. **JSP指令**:包括page指令、include指令和taglib指令,用于设置页面属性、引入其他文件以及注册自定义标签库。 2. **...
JSP指令如`<%@ page ... %>`、`<%@ include ... %>`和`<%@ taglib ... %>`用于设置页面属性、包含其他文件和导入自定义标签库。在个人博客中,可能用到`; charset=UTF-8" %> `来设置页面编码和指定使用的编程语言。...
此外,JSP还支持使用自定义标签库来提高代码的复用性和可维护性。 ### JSP的工作原理 当用户通过浏览器访问一个JSP页面时,Web服务器会读取该JSP文件并将其转换成Servlet代码,然后编译这个Servlet并运行。运行...
【JSP作业】是一个关于JavaServer Pages(JSP)技术的编程作业,它展示了JSP在构建Web应用程序中的基本应用。JSP是Java平台上用于创建动态网页的一种技术,结合了HTML、Java代码和服务器端脚本,使得开发者可以更...
你可以通过阅读使用说明来了解系统的工作方式,然后深入源代码,探索JSP的用法,如EL表达式、JSTL标签库、自定义标签的使用,以及如何结合Servlet和JSP实现业务逻辑。同时,这还是一个了解MVC设计模式在JSP中应用的...
在JSP中,开发者可以使用内置的对象(如request、response、session等)来处理用户请求,以及通过JSP标签库(Tag Libraries)和自定义标签来扩展功能。JSP页面在服务器上被编译为Servlet,然后由Servlet处理HTTP请求...
`taglib`指令用于引入自定义标签库。 2. **JSP动作**:JSP动作元素如`<jsp:include>`、`<jsp:forward>`、`<jsp:param>`等,它们不直接生成Java代码,而是影响JSP页面的处理流程。例如,`<jsp:useBean>`可以实例化一...
在这个系列的第4部分,学生可能已经经历了从基础到进阶的学习过程,涉及了JSP的请求处理、会话管理、自定义标签、异常处理等高级特性,以及CSS的动画效果、过渡、媒体查询等复杂设计技巧。他们可能需要将这些知识...