Jsp开发常用标签总结

Jsp开发常用标签总结

JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它[1]  是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
它实现了Html语法中的java扩展(以 <%, %>形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。
Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

1 Jsp标签作用

Jsp标签主要在jsp页面执行java代码,用于替换jsp脚本。

2 Jsp标签分类

Jsp内置标签(动作标签): 不需要导入标签库

JSTL标签库:  需要导入标签库

自定义标签: 需要导入标签库


3 Jsp内置标签

<jsp:forward/>  转发标签

用于转发

<jsp:param/>   参数标签

<jsp:incude/>  包含标签

用于包含其他页面

注意:

1)其原理是包含与被包含的页面先各自翻译成独立的java源文件,然后再运行时合并再一起。(先翻译再合并),这叫动态包含

  ==== 静态包含  vs   动态包含====

1)原理不一样

a)静态包含(先合并再翻译)

b)动态包含(先翻译再合并)

2)语法不一样

a)静态包含( includ指令:  <%@include%> )

b)动态包含 (include标签: <jsp:include />)

3)参数传递不同

a)静态包含不能传递参数

b)动态包含可以向被包含页面传递参数

4 JSTL标签

jstl , java starardard tag libarary  java标准标签库

以前: jsp2.0以前jstl不属于java规范。属于第三方的工具。需要导入jar包

现在: jsp2.0 jstl纳入javaee规范。不需要导入jar包。

JSTL标签库分类:

1)核心标签库 (core/c  ) 使用最频繁的

2)国际化互标签库(fmt)

3)EL函数库 (fn)

4)数据库标签库(sql)基本不用

5)Xml标签库(x)基本不用

5 JSTL使用步骤

1)确保jstl的支持jar包已经导入到项目中

2)在jsp页面的顶部导入标签库

<%@taglib uri="tld文件的路径" prefix="标签库缩写"%>

tld文件: 标签库的声明文件(每套标签都有一个tld文件)


<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

3)使用标签库中的标签


<c:set></c:set>

6 核心标签库(开发中经常使用)

保存数据:

<c:set></c:set>

获取数据

<c:out value=""></c:out>

单条件判断:

<c:if test=""></c:if>

多条件判断

<c:choose></c:choose>

<c:when test=""></c:when>

<c:otherwise></c:otherwise>

数据遍历

<c:forEach></c:forEach>

<c:forTokens items="" delims=""></c:forTokens>

7 自定义标签

自定义标签是用户定义的JSP语言元素。当JSP页面包含一个自定义标签时将被转化为servlet,标签转化为对被 称为tag handler的对象的操作,即当servlet执行时Web container调用那些操作。

8 自定义标签步骤

1)编写一个标签处理器程序,继承SimpleTagSupport类(使用自定义标签显示ip)


public class ShowIpTag extends SimpleTagSupport{

/**

* 执行标签

*/

@Override

public void doTag() throws JspException, IOException {

//得到request对象

PageContext pageContext = (PageContext)this.getJspContext();

HttpServletRequest request = (HttpServletRequest)pageContext.getRequest();

//得到客户ip

String ip = request.getRemoteHost();

//写出浏览器

pageContext.getOut().write("自定义标签实现获取客户端IP地址:"+ip);

}

}

2)在WEB-INT目录下建立tld文件,例如test.tld,内容如下:


<?xml version="1.0" encoding="UTF-8" ?>

<taglib 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-jsptaglibrary_2_1.xsd"

version="2.1">

<!-- 标签库版本 -->

<tlib-version>1.1</tlib-version>

<!-- 标签库的缩写:简单名称 -->

<short-name>test</short-name>

<!-- tld文件的唯一标记 -->

<uri>http://gz.test.cn</uri>

<!--标签定义  -->

<tag>

<!-- 标签名称 -->

<name>showIp</name>

<!-- 标签对应的处理器程序 -->

<tag-class>gz.test.c_tag.ShowIpTag</tag-class>

<!-- 标签体输出格式 -->

<body-content>scriptless</body-content>

</tag>

</taglib>

3)在jsp页面中导入自定义标签库,再使用标签库中的标签


<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<%@taglib uri="http://gz.itcast.cn"  prefix="itcast"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>第一个自定义标签</title>

</head>

<body>

<%

//得到客户IP地址

//String ip = request.getRemoteHost();

//out.write("客户的IP地址为: "+ip);

%>

<test:showIp></test:showIp>

</body>

</html>

9 自定义标签作用

1)控制是否执行标签体内容

执行:

jspFragment.invoke(null) 把标签体内容输出到浏览器

不执行:

什么都不做!!! (不执行jspFragment.invoke(null))

2)控制是否执行标签余下的内容

执行:

什么都不做!!!

不执行:

抛出SkipPageException异常即可!

3)控制重复出现执行标签体内容

时间: 2024-12-28 17:03:44

Jsp开发常用标签总结的相关文章

Jsp开发自定义标签,自定义标签将字符串转成指定的时间格式显示

本例以将 字符串格式的时间转成指定的时间格式显示. 第一步.定义一个标签处理程序类,需要集成javax.servlet.jsp.tagext.TagSupport,代码如下: import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Calendar; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.T

开发jsp中常用标签

s标签:<%@ taglib prefix="s" uri="/struts-tags"%>request中取值:<s:property value="#request.tipMessage"/>request中取集合长度:<s:property value="#request.list.size()"/>request中判断:        <s:if test="#req

jsp之常用标签库之初见

今天刚开始学习JSTL,所以在这里总结一下今天学到的一些东西. 1.首先什么是EL表达式? 答:el的原名是:expression language,用来实现代码的复用,同样一段逻辑代码,el表达式表示出来的就是比jsp原型语言写出来的简单清晰. 2.JSTL四大标签分类有哪四大? 答:核心标签.格式化标签.SQL标签.XML标签,其中最重要的是核心标签,其他的地位次之 3.el标签具体的表示,即该如何在jsp页面中编写el表达式? 答:举例说明如下:<c:out value="常量或者变

javaWeb 使用jsp开发 if 标签

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@taglib prefix="t" uri="/WEB-INF/tag.tld"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

jsp:常用标签的核心标签的使用

一,本例主要讲核心标签的使用方法 <c:out value="${null}" default="ada"></c:out> <!-- out方法如果value值为空则显示默认值 --> <c:out value="&ltadadadd&gt" escapeXml="false"></c:out> <!-- escapeXml方法是否使用Xml特

JavaWeb学习之JSP常用标签、EL表达式的运算符、JSTL标签库(6)

1.JSP常用标签 * 只要支持JSP文件,常用标签有可以直接使用 * 格式: jsp:xxxx * jsp:forward ,完成jsp页面的转发 * page属性:转发的地址 <% request.setCharacterEncoding("UTF-8"); %> <jsp:forward page="/index.jsp"> <jsp:param value="张三" name="userName&q

【黑马程序员】第11课:JSTL标签+JSP开发模式

<pre> day11 昨天内容回顾 (1)jsp *jsp的三个指令 *jsp里面九个内置对象 request response session config application exception page out:out输出机制 pageContext (2)javabean *jsp的动作标签 *beanutils框架 (3)el表达式 *el表达式获取域对象里面的值 *el表达式获取域对象里面数组,集合,对象的属性的值  思维导图 1.jstl的简介 *和指令taglib一起使用

Struts2页面开发中常用标签使用说明

1. Struts2页面开发中常用标签使用说明 1.1.往action里传值的使用方式: <input name="userName" type="text" class="input6" size="15"> a. userName属性需要在访问的action中提供相应的属性,并有SET/GET方法. b. 可以不在访问的action中提供相应的属性,用request. getParameter_r(“userN

jsp常用标签和标签库

1 常用标签forward,pararm,include <jsp:forward page=""></jsp:forward> <jsp:param value="allen" name="username"/> <jsp:include page=""></jsp:include> 2 常用标签库JSTL,使用前需要引用<%@taglib uri="