Java web之JSP基础

来源:互联网 发布:淘宝店铺说明怎么写 编辑:程序博客网 时间:2024/03/29 10:13

JSP也是Servlet,运行时只会有一个实例。跟Servlet一样,JSP实例初始化、销毁时也会调用Servlet的init()和destroy()方法。另外,JSP还有自己的初始化方法与销毁方法_jspInit()和_jspDestroy()。

<%!public void _jspInit(){//初始化代码}public void _jspDestroy(){//销毁时代码}%>

1.JSP语法

1.1JSP元素与模板数据:

1.1.1模板数据:JSP中的HTML代码

1.1.2元素:Java部分。包括脚本,JSP指令与标签。

1.2JSP脚本

使用<%与%>括起来,否则被视为模板数据。

1.3JSP输出

使用<%=与%>作为各种类型数据的输出,包括int、double、boolean、String、Object等

<td><%= greeting %></td>


1.4JSP中的if语句

if语句块前后必须使用{和}

if("1".equals(param)){%>。。。。。。。。<%}else {%> 。。。。。。。。<%}%>
1.5JSP的for循环

<%for(int i=0; i<letters.length; i++){Object[] letter = letters[i];%>。。。。。。。。<%}%>
1.6JSP中的while

<%while(it.hasNext()){%><%= it.next() %> <br/><%}%>


2.JSP指令

指令用来声明JSP页面的属性。格式如下:

<%@derective {attribute=value}*%>
2.1page指令,最常用,用来声明页面属性

<%@ page language="java" contentType="text/html; charset=utf-8"%>
2.2include指令,用来包含另一个JSP或者HTML文件。

<%@ include file="head.jsp" %>
2.3taglib指令,标签技术,实现代码重用

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


3.JSP行为

是一组JSP内置的标签,只需书写少量标记代码,便能提供丰富功能,包括标准JSP行为与自定义JSP行为。格式为:

<jsp:elements {attribute=value}*/>
3.1<jsp:include/>行为,包含某个文件

<jsp:include flush="true" page="/head.jsp"></jsp:include>
3.2使用Java Bean
Java Bean是普通的Java类,只有私有属性与对应的getter和setter方法。

<%-- 声明 Person 类对象 person --%><jsp:useBean id="person" class="com.helloweenvsfei.jspweb.bean.Person" scope="page"></jsp:useBean><%-- 设置 person 的所有属性,所有的属性值从 request 中自动取得 --%><jsp:setProperty name="person" property="*" />


<%-- 获取 person 的 name 属性 --%><jsp:getProperty name="person" property="name" />
3.3<jsp:plugin/>行为,嵌入Applet

<jsp:plugin code="Graph.class" codebase="http://java.sun.com/applets/jdk/1.4/demo/applets/GraphLayout/" type="applet"width="500"height="400"><jsp:params><jsp:param name="edges" value="joe-food,joe-dog,joe-tea,joe-cat,joe-table,table-plate/50,plate-food/30,food-mouse/100,food-dog/100,mouse-cat/150,table-cup/30,cup-tea/30,dog-cat/80,cup-spoon/50,plate-fork,dog-flea1,dog-flea2,flea1-flea2/20,plate-knife"/><jsp:param name="center" value="joe" /></jsp:params><jsp:fallback>您的浏览器不支持 Java Applet</jsp:fallback></jsp:plugin>
<jsp:plugin/>用于定义Applet,<jsp:params/>用于定义多个参数,<jsp:fallback>用于说明不支持Applet时候的信息。

Applet的class文件不要放在WEB-INF文件夹下,否则浏览器无法访问。

3.4<jsp:forward/>行为

<jsp:forward page="/counter.jsp"><jsp:param name="param1" value="value1"/><jsp:param name="param2" value="value2"/></jsp:forward>
会跳转到counter.jsp页面,param1与param2是传递的参数。

3.5<jsp:directive/>行为

相当于JSP指令。

<jsp:directive.page/>行为相当于<%@page%>