• 热门专题

JSP基础知识之JSP的构成元素

作者:Cannel_2020  发布日期:2012-03-13 09:53:24
Tag标签:JSP基础知识  构成元素  
  • JSP注释
    1).显示注释:<!--注释内容-->

    2).隐式注释:<%--注释内容-->(在客户端的HTML源代码中看不到这些注释的内容)


    --------------------------------------------------------------------------------

    JSP脚本
    1、声明


    <%! int i = 10; %> 
    <%! String UserName = “cannel_2020”;%> 
    声明多个 
    <%!  inti = 10; 
       String UserName = “cannel_2020”; 
             Ballb = new Ball(); 
     %> 
    <%! int i = 10; %>
    <%! String UserName = “cannel_2020”;%>
    声明多个
    <%!  inti = 10;
       String UserName = “cannel_2020”;
             Ballb = new Ball();
     %>

    注意:

    1).在页面中想要使用某些变量,需要先声明变量。

    2).声明必须以“;”结尾。

    3).一个声明仅在一个页面中有效,对于新建的页面,需要重新声明变量

    4).<%@page%>中被包含进来的已经声明的变量和方法,不需要对它们重新进行声明

    2、脚本程序


    <% 
             for(inti = 0; i < 10; i++){ 
    %> 
    脚本程序 
    <% 
             } 
    %> 
    <%
             for(inti = 0; i < 10; i++){
    %>
    脚本程序
    <%
             }
    %>

    ·脚本程序不能用于定义方法;只有声明可以用来定义方法。

    ·在declareation中声明的变量是JSP页面实现类的实例变量。这些变量对于该页面中其他代码语言或者方法是可见的。

    ·在脚本程序中声明的变量,对于JSP页面实现类中的方法是局部的。它们只在定义它们的代码块中可见。

    3、表达式

    <%= UserName %> 显示UserName的值。不需要用分号结尾。

    注意:在JSP中%与=、@符号之间不能有空格。

    --------------------------------------------------------------------------------

    JSP指令
    1、page指令:用于设定页面的属性。


    <%@ page 
             contentType=”text/html; 
             charset=gb2312” 
             language=”java” 
             import=”java.sql.*” 
             errorPage=”” 
    %> 
    <%@ page
             contentType=”text/html;
             charset=gb2312”
             language=”java”
             import=”java.sql.*”
             errorPage=””
    %>

    1)、Page指令的作用范围是整个JSP文件和该文件用include指令或<jsp:include>包含进来的任何静态文件,整个JSP文件盒这些静态文件一起叫做一个“平移单元”。用户可以在一个“平移单元”使用多个Page指令,但是每一个属性只能使用一次,除了import。不论将Page指令放到JSP文件或被包含的文件的任何一个位置,它的作用范围都是整个“平移单元”。然而,一个好的编程风格是常常将它放到文件的顶部。

    2)、常用页面指令属性:

     

属性

描述

import

导入到页面的所有java包.

session

是否加入一个会话。有效值是true和false。默认值是true。

isThreadSafe

容器是否向该页面并发的传递请求。有效值是true和false。默认值是true。

info

提供页面的内容、的、名字等信息

errorPage

显示错误的Web页面的URL。如果你没有给出一个URL,容器会使用自己默认的URL。

isErrorPage

当前页面是否是一个错误页。默认是false.

contentType

定义页面内容的类型。默认值是text/html

pageEncoding

当前页面的字符集。默认值是ISO-8859-1(拉丁脚本)

language

声明脚本语言的种类,暂时只能用”java”。

extends

<%@ page extends=”package.classs”%>标明JSP编译时需要加入的Java class 的全名,但是要慎重地使用它,它会限制JSP的编译能力。


3)、注意:

·在些包在JSP编译时已经自动导入,不需要在页面import了:

java.lang.*

javax.servlet.*

javax. Servlet.jsp.*

javax. Servlet.http.*

·<%@ page session=”true/false”%设置是否需要HTTP session,session用来暂存信息,因为它的作用是一次会话时间,所以可以用session在页面间传值。

·Page指令不适用于任何动态的包含文件。

2、include指令:该指令用于包含一个文本或代码的文件。


<%@ pagecontentType="text.html;charset=gb2312"%> 
<html> 
         <head><title>includetest</title></head> 
         <body> 
                   当前的时间是:<%@include file = "data.jsp" %> 
         </body> 
</html> 
<%@ pagecontentType="text.html;charset=gb2312"%>
<html>
         <head><title>includetest</title></head>
         <body>
                   当前的时间是:<%@include file = "data.jsp" %>
         </body>
</html>

data.jsp文件如下:


<%=newjava.util.Date().toLocaleString()%> 
<%=newjava.util.Date().toLocaleString()%>


--------------------------------------------------------------------------------

JSP操作元素
1、<jsp:forward>:将客户端的请求转交给一个HTML文件、JSP文件或脚本段处理。

         注意:JSP引擎对主JSP页面<jsp:forward>下面的代码不再执行。如果JSP文件的输出被设置为缓冲输出(即使用默认的page指令值或直接设置缓冲去的buffer大小),则在请求被转交之前,缓冲区被清空。如果输出被设置为非缓冲输出(即用page指令设置buffer=none),而且输出区中已经有内容,则使用<jsp:forward>元素,将会导致非法例外。

2、<jsp:include>:在JSP文件中,包含一个静态或动态文件。

3、<jsp:useBean>:调用和创建一个指定名字和使用范围的Bean。如果这个Bean不存在,则创建该Bean。

 

属性

描述

id

在页面中访问的bean的名称,该名称必须是唯一的。

scope

bean的作用域。有效值:page、request、session或application。默认值是page。

class

bean的完整的类名。

beanname

bean的名称,传给java.beans.Beans类的instantiate()方法。通常我们使用的是class属性,而不是beanName.

tyoe

引用bean变量的类型。type可以是bean的类,或者是bean的任何父类,或者是这个bean或其父类实现的任何接口。


4、<jsp:setProperty>:设置Bean的一个或多个属性值。

 

属性

描述

name

与useBean操作定义的Bean的id属性值相同。

property

被赋值的属性名称。用property命名这个Bean的一个属性,它将调用这个属性的setXX()方法。当property=”*”,这样JSP将读取客户端浏览器发来的请求中的所有参数,然后bean中设置那么与请求(request)中的与参数同名的属性。

param

浏览器请求中的参数名,这个参数用于设置属性。允许JSP匹配各个变量和参数。

value

设置属性的值。


设置属性的值有3中方法:

1)、将用户请求中的所有值(这些值一般式客户表单中的元素的值,且作为参数存储在request对象中)和Bean中相匹配的属性赋值。此时,Bean中属性的名字必须和客户端表单中元素的名字一样。


<jsp:setProperty name=”beanInstanceName”property=”*”> 
<jsp:setProperty name=”beanInstanceName”property=”*”>

2)、用请求对象中一个特定的值和Bean中相匹配的属性赋值。当用表单中一个元素的值给Bean中一个属性赋值,而且元素名和属性名不一样时,则必须用param指定一个参数。


<jsp:setProperty name=” beanInstanceName”   property =”propertyName”[param=”parameterName”]/> 
<jsp:setProperty name=” beanInstanceName”   property =”propertyName”[param=”parameterName”]/>

3)、用字符串的值或表达式的值直接设置为Bean的属性。


<jsp:setProperty name=” beanInstanceName”value=”{String | <%=expression%>}” 
<jsp:setProperty name=” beanInstanceName”value=”{String | <%=expression%>}”

5、<jsp:getProperty>:取Bean属性的值,以便在结果页面中显示。·

6、<jsp:plugin>、<jsp:params>、<jsp:fallback>:元素用于JSP页面,它们将生产的HTML页面中包含applet或者JavaBean。使用这些元素而不用手工编写HTML代码,这让服务器可以利用JSP标签创建浏览器相关的HTML。

7、<jsp:attrubute>、<jsp:body>:用于标准操作和定制操作。

8、<jsp:invoke>、<jsp:doBody>:只在标签库中有效。

9、<jsp:param> :用来以“名-值”对的形式为其他标签提供附加信息。在JSP页面中可也是用request对象的getParamter()和getParamterValues()方法来访问这些参数。它和<jsp:include>、<jsp:forward>、<jsp:plugin>一起使用。

延伸阅读:

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规