JSP学习(二)------JSP基础知识详解
来源:互联网 发布:淘宝创建店铺流程 编辑:程序博客网 时间:2024/05/16 11:05
JSP脚本元素
- JSP声明
声明是用来在jsp页面中声明变量或定义方法的语句,以<%开头,以%>结尾的标签,举例如下:
<% int count=0; String str="hello"; %>
- JSP小脚本
JSP小脚本简单说就是纯粹的java代码片段,是以<%开头,以%>结束的标签,举例如下:
<% count++; %>
- JSP表达式
语法结构为:
<%= expression %>
JSP表达式中的元素将会被自动转化成String类型,可以理解为引用一个变量的值,它将会被嵌入在JSP中进行显示,例如:
<html> <head><title>A Comment Test</title></head> <body><p> Today's date: <%= (new java.util.Date()).toLocaleString()%></p></body> </html>
ps:JSP表达式的%和=之间不能有空格,并且不能以;结束
JSP注解语法为:
<%-- This is JSP comment --%>
JSP指令
语法结构:
<%@ directive attribute="value" %>
JSP有三种类型的指令标签,每个指令能影响servelt类的整体结构,如下图所示:
每中类型的指令均含有多种的属性(attribute),下面将对每种类型指令的属性分别介绍
page类型常用指令表:
include类型有两种形式,分别是page和file,如下所示:
<%@ include file=”relativeURI ”%><%-- flush必须为true,false为缺省值--%><jsp:include page=”relativeURI ” flush=”true”/>
file是将指定的文件进行编译并在当前页面转换成servlet之前融合进当前的页面,即在当前页面还没开始生成之前,比如一些静态文件header.jsp
page 在请求处理阶段执行,让您将文件插入正在生成的页面
注意:file属于JSP指令,page属于JSP动作
- taglib类型
JSP通过这个类型引入标准标签库,可以简化我们对代码的编写
JSP动作
- include(讲解见上)
- useBean
标签表示用来在JSP页面中创建一个bean实例并指定它的名字以及作用范围(不写默认page范围)
语法结构:
<%-- 最简单的语法 --%><jsp:useBean id="name" class="package.class" /><%-- 完整语法 --%><jsp:useBean id="name" scope="page | request | session | application" typeSpec /><%-- 其中typeSpec有以下几种可能的情况:--%>class="className" | class="className" type="typeName" | beanName="beanName" type="typeName" | type="typeName"
注意:必须使用class或type,而不能同时使用class和beanName。beanName表示Bean的名字,其形式为“a.b.c”
- setProperty
该动作设置一个bean的属性,在这个动作之前,该bean必须存在,举例
<html><head><title>Using JavaBeans in JSP</title></head><body><center><h2>Using JavaBeans in JSP</h2><jsp:useBean id="test" class="action.TestBean" /><%-- value和param必须有一个,有区别 --%><jsp:setProperty name="test" property="message" value="Hello JSP..." /><p>Got message....</p><jsp:getProperty name="test" property="message" /></center></body></html>
前提必须有一个bean
/* File: TestBean.java */package action;public class TestBean { private String message = "No message specified"; public String getMessage() { return(message); } public void setMessage(String message) { this.message = message; }}
- getProperty
使用getProperty动作将检索一个给定的属性的值,并将其转换为字符串,并最终将其插入到输出,示例如上 - forward
终止当前页面的动作,将请求转发给另一个资源,如静态页面,另一个JSP页面或Java Servlet
简单语法如下:<jsp:forward page="Relative URL" />
示例如下:
date.jsp<p>
Today's date: <%= (new java.util.Date()).toLocaleString(
</p>
main.jsp
<html><head><title>The include Action Example</title></head><body><center><h2>The include action Example</h2><jsp:forward page="date.jsp" /></center></body></html>
- plugin
plugin动作是用来插入Java组件到一个JSP页面 - element、attribute、body
这三个动作来动态定义的XML元素 - text
该动作可以用来写在JSP页面和文档模板文本
JSTL
JSTL是JSP的标准标签集合,里面包括了核心标签(c),格式化标签(fmt),数据库标签(sql),XML标签(x)以及自定义标签,在运用JSTL之前,我们需要先导入jstl、standard JAR包,pom.xml导入方式如下:
<!--引入JSTL标签库--> <!-- https://mvnrepository.com/artifact/javax.servlet.jsp.jstl/javax.servlet.jsp.jstl-api --> <dependency> <groupId>javax.servlet.jsp.jstl</groupId> <artifactId>javax.servlet.jsp.jstl-api</artifactId> <version>1.2.1</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.taglibs/taglibs-standard-impl --> <dependency> <groupId>org.apache.taglibs</groupId> <artifactId>taglibs-standard-impl</artifactId> <version>1.2.5</version> </dependency>
下面我只演示c标签的示例:
<%-- Created by IntelliJ IDEA. User: 罗浩 Date: 2017/9/16 Time: 16:11 To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %><%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %><%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><html><head> <title>JSTL demo</title></head><body><c:out value="${'JSTL demo!'}"/><c:set var="salary" scope="session" value="${2000*2}"/><p>Before Remove Value: <c:out value="${salary}"/></p><c:remove var="salary"/><p>After Remove Value: <c:out value="${salary}"/></p><c:catch var ="catchException"> <% int x = 5/0;%></c:catch><c:if test = "${catchException != null}"> <p>The exception is : ${catchException} <br /> There is an exception: ${catchException.message}</p></c:if><c:forEach var="i" begin="1" end="5">Item <c:out value="${i}"/><p> </c:forEach> <c:forTokens items="Zara,nuha,roshy" delims="," var="name"> <c:out value="${name}"/><p> </c:forTokens></body></html>
访问结果:
阅读全文
0 0
- JSP学习(二)------JSP基础知识详解
- JSP基础知识(二)
- JSP学习——JSP基础知识(二)
- JSP学习——JSP基础知识(二)
- JSP 语法基础知识(二)
- Jsp基础知识二
- JSP Servlet基础知识(二)
- jsp基础学习---jsp基础知识
- jsp学习(二)
- jsp学习(二)
- JSP基础知识详解
- jsp基础知识详解
- JSP基础知识详解
- JSP基础知识(学习笔记)
- JSP学习笔记-基础知识
- JSP基础知识学习9.7
- JSP学习——JSP基础知识(一)
- JSP学习——JSP基础知识(一)
- 深度残差网络原理理解
- 解决windows使用rsync同步到Linux权限问题
- Linux进阶之 Linux 目录结构
- iOS的绘图方法使用和参数的说明
- 获取数组有几元素
- JSP学习(二)------JSP基础知识详解
- python语言学习函数与变量作用域
- docker下的swagger-ui动态一个地址展示多个文档
- 导入文本内容到list control
- Swift版找字体名字
- 摘自windbg,当作调试taeget机器的hello word看吧
- PHP实现多图上传预览~(仿微信)
- 酷划锁屏手机赚钱APP的使用经验分享
- SYBASE 常用 sp_configure