jsp基本语法

Jsp语法

1.     第一行。<%@ page contentType="text/html;charset=gb2312" language="java"%>

2.<A href="javascript:history.go(-1);">

                    返回上一页    

                </A>

<A href="responselist.do?topicid=<%=forum.getLastTopicId()%>">

                    可以传值的超连接。

                </A>

3.<%@ include file="/common/taglibs.jsp"%>

 

4. <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>引入标签库。

 

5. <%@ page import="j2eebbs.*"%>

    <%@ page import="java.util.*"%>引入包。

 

6.<bean:message key="userlogin.jsp.guest" />在页面中直接显示消息资源文件中的相应的消息

7.html中实现一个页面多个窗口

    <frameset>

     <frame src=url 1 name=name>

     <frame src=url 1 name=name>

</frameset>

在使用了frameset的页面不能用<body>标签。

8使用javascript

1)  直接加入:

<script language=javaScript>

    //这是注释

<!--Document.writeln();-->//这是代码部分html注释标签<!---->是用来去掉浏览器不能识别的javascript代码的,这对不支持//javascript语言的浏览器来说很有用。

</script>

2)  引用方式:<script src=xxx.js language=javascript></script>//该语句可以放在整个文档的任何部分,一般放在文档头。

 

Jsp基本语法

Jsp语法分为3类:脚本元素、指令元素、动作元素。

 

jsp的脚本元素有以下4个:

1.       隐藏注释:<%--这是客户端不可见的隐藏注释--%>

2.       声明(declarations):<%!这是声明%>

3.       脚本段(scriptlets):<%这是脚本段%>

4.       表达式(expression):<%=这是表达式%>

 

 

jsp的指令元素有以下3个:

指令主要用来提供整个JSP网页相关的信息,并且用来设定JSP页面的相关属性。

一、page指令

功能:设定整个JSP网页的属性和相关功能。
语法:<%@ page attribute1="value1" attribute2="value2" %>
标签元素:
<jsp:directive.page attribute1="value1" attribute2="value2" />

 
page
指令元素的属性
       
language="language"    
指定JSP Container要用什么语言来编译JSP网页。目前只可以使用Java语言,不过不排除增加其它语言。默认值为Java
       
extends="className"    
定义此JSP页面产生的Servlet是继承自哪个父类。必须为实现HttpJspPage接口的类。JSP规范对不完全理解其隐意的情况下使用此属性提出警告。
       
import="importList"    
定义此JSP页面可以使用哪些Java API。用逗号分隔列出一个或多个全质类名。此列表用于在生成的java servlet中创建相应的导入语句。以下包是自动包含的,不必被指出:
java.lang.*;java.servlet.*;java.servlet.jsp.*;java.servlet.htt.*       
session="true|false"    
指明JSP页面是否需要一个HTTP会话,如果为true,那么产生的servlet将包含创建一个HTTP会话(或访问一个HTTP会话)的代码,缺省为true
       
buffer="none|size in kb"    
指定输出流缓存的大小。有效值是nkb或没有。缺省为8kb
       
authflush="true|false:    
决定输出流的缓冲区是否要自动清除。当值为true时缓存满时将被自动刷新,当值为false时,缓冲区满会抛出溢出异常。缺省值为true
       
isThreadSafe="true"    
JSP页面能处理来自多个线程的同步请求,此值为true,否则为false,生成的servlet表明它实现了SingleThreadMode接口。SingleThreadMode已经声明不赞成使用(deprecate
       
info="text"    
表示此JSP页面的相关信息,由getServletInfo()方法返回的。
       
isErrorPage="true|false"    
如果此页面被用作处理异常错误的页面,则为true。在这种情况下,页面可被指定为另一页面page指令元素中errorPage属性的取值。指定此属性为true将使exception隐含变量对此页面可用。缺省值为false
       
errorPage="error_url"    
表示如果发生异常错误,网页会被重新指向一个URL页面。错误页面必须在其page指令元素中指定
isErrorPage="true"       
contentType="ctinfo"    
表示将在生成servlet中使用的MIME类型和可选字符解码。
       
pageEncoding="ctinfo"    
表示JSP页面的编码方式。
       
isELIgnored="true|false"    
表示是否在此JSP网页中执行或忽略EL表达式。如果为trueJSP Container将忽略EL表达式。
     

二、include指令


功能:在JSP编译时插入包含一个文件。包含的过程是静态的,包含的文件可以是JSPHTML、文本或是Java程序。
语法:<%@ include file="relativeURLspec" %>
标签元素:
<jsp:directive.include file="relativeURLspec" />
注意:include指令元素和行为元素主要有两个方面的不同点。

1.include
指令是静态包含,执行时间是在编译阶段执行,引入的内容为静态文要,在编译成servlet时就和包含者融合到一起。所以file不能是一个变量,也不能在file后接任何参数。
2.include
行为是动态包含,执行时间是在请求阶段执行,引入的内容在执行页面时被请求时动态生成再包含到页面中。

三、taglib指令

功能:使用标签库定义新的自定义标签,在JSP页面中启用定制行为。
语法:<%@ taglib uri="tabLibraryURI" prefix"tagPrefix" %>
标签元素:
<jsp:directive.taglib uri="tabLibraryURI" prefix"tagPrefix" />

 
page
指令元素的属性
       
uri="tagLibraryURI"    
标签库描述器的URI,主要是说是tagLibrary的存放位置。
       
prefix="tagPrefix"    
用于标识在页面后面部分使用定制标签的唯一前缀。

 

jsp的常用动作元素:

<jsp:attribute>

说明 
该元素为另外一个JSP动作定义了一个属性值。还可以与<jsp:element>动作结合,从而创建一个模板文本标记元素。  
 
语法 
<jsp:attribute name="attrName" [trim="true|false"]>
  Attribute value, typically created by nested JSP elements
</jsp:attribute>

 
属性 
名称 java类型 动态值 描述 
name String 
不接受 待赋值属性的名字。如果不与<jsp:element>配合,所命名的属性必须接受动态值 
trim boolean 
不接受 是否除去体计算结果中前导和后续空白字符 
 
 
示例 
<jsp:include>
  
<jsp:attribute name="page">
    ${someValue}
  
</jsp:attribute>
</jsp:include>

<jsp:element name="a">
  
<jsp:attribute name="href">
    
<c:url value="${someURL}" />
  
</jsp:attribute>
</jsp:element>


<jsp:body>

说明 
用于为一个动作元素定义体。仅当动作属性由<jsp:attribute>元素定义时,该元素才是必须的。  
 
语法 
<jsp:body>
  Body content
</jsp:body>

 
示例 
<jsp:plugin type="applet" code="Clock.class" Codebase="applet" jreversion="1.2">
  
<jsp:attribute name="width">160</jsp:attribute>
  
<jsp:attribute name="height">150</jsp:attribute>
  
<jsp:body>
    
<jsp:params>
      
<jsp:param name="bgcolor" value="#ff0000" />
    
</jsp:params>
    
    
<jsp:fallback>
      Plugin tag OBJECT or EMBED not supported by brower.
    
</jsp:fallback>
  
</jsp:body>
</jsp:plugin>


<jsp:declaration>

说明 
声明块的JSP Document表示形式,对应于<%! declaration %>  
 
语法 
<jsp:declaration>declaration</jsp:declaration>

 
示例 
<jsp:declaration> int iLocalVar = 0 ; </jsp:declaration>


<jsp:directive>

说明 
指令元素的JSP Document表示。 
 
语法 
语法 1 <%@ page %>
<jsp:directive.page attributes="attributes" />

语法 2 <%@ taglib %>
<jsp:directive.taglib attributes="attributes" />

语法 3 <%@ include %>
<jsp:directive.include file="pageOrContextRelativePath" />

语法 4 <%@ tag %>
<jsp:directive.tag attributes="attributes" />

语法 5 <%@ attribute %>
<jsp:directive.attribute attributes="attributes" />

语法 6 <%@ variable %>
<jsp:directive.variable attributes="attributes" />

 
示例 
<jsp:directive.page language="java" pageEncoding="GB2312">
<jsp:directive.taglib prefix="plusir" uri="plusirTAG">
<jsp:directive.include file="list.jsp">


<jsp:doBody>

说明 
只能用于标记文件中,它将计算相应的定制动作体,并把输出结果添加到调用页面的输出流,或者将输出保存在一个变量中。 
 
语法 
<jsp:doBody [var="var" | varReader="varReader"]
     [scope
="page|request|session|application"]/>

 
属性 
名称 java类型 动态值 描述 
scope String 
不接受 变量的作用域 
var String 
不接受 将计算结果保存为一个String的变量的名字 
varReader String 
不接受 用于保存计算结果并将结果作为一个java.io.Reader加以提供的变量名 
 
 
示例 
<jsp:doBody />
<jsp:doBody var="result" />


<jsp:element>

说明 
动态创建一个XML元素,并将其添加到响应中。此动作主要用于JSP Document 
 
语法 
语法 1:没有体
<jsp:element name="elementName" />

语法 2:有体
<jsp:element name="elementName" />
  
<jsp:attribute> and/or <jsp:body> action
</jsp:element>

 
属性 
名称 java类型 动态值 描述 
name String 
接受 所生成元素的名字 
 
 
示例 
<jsp:element name="a">
  
<jsp:attribute name="href">somepage.jsp</jsp:attribute>
  
<jsp:body>Some text</jsp:body>
</jsp:element>


<jsp:expression>

<jsp:expression> 
 
说明 
表达式块的JSP Document表示形式,对应于<%= expression %>  
 
语法 
<jsp:expression>expression</jsp:expression>

 
示例 
<jsp:expression>String</jsp:expression>


<jsp:ballback>

说明 
只能用于<jsp:plugin>动作体内,对于不支持HTML<embed><object>元素的浏览器,此动作体指定了其可用的模板文件。  
 
语法 
<jsp:fallback>
  Fallback body
</jsp:fallback>

 
示例 
<jsp:plugin type="applet" code="Clock.class" codebase="applet"
     Jreversion
="1.2" width="160" height="150">
  
<jsp:fallback>
    Plugin tag OBJECT or EMBED not supported by brower.
  
</jsp:fallback>
</jsp:plugin>


<jsp:forward>

说明 
将请求处理控制传递到同一Web应用中的另外一个JSP页面或者Servlet,当前页的执行停止。 
 
语法 
语法 1 无参数
<jsp:forward page="pageOrContextRelativePath" />

语法 2 嵌套<jsp:param>动作
<jsp:forward page="pageOrContextRelativePath">
  One or more 
<jsp:param> action
</jsp:forward>

 
属性 
名称 java类型 动态值 描述 
page String 
接受 资源所要转发到的页面或上下文相对URI路径 
 
 
示例 
 
<jsp:forward page="list.jsp" />


<jsp:getProperty>

说明 
bean属性的值转换为一个串,并增加到由页面所生成的响应。 
 
语法 
<jsp:getProperty name="beanVariableName" property="propertyName" />

 
属性 
名称 java类型 动态值 描述 
name String 
不接受 指定给某JSP作用域中的一个bean的名字 
property String 
不接受 包含在页面中的bean的属性的名字 
 
 
示例 
<jsp:getProperty name="date" property="year" />


<jsp:include>

说明 
用于包含来自同一个Web应用中另外一个JSP页面、Servle或者静态文件的响应,包含了目标资源所生成的响应后,当前页面继续执行。 
 
语法 
<jsp:include page="pageOrContextRelativePath" [flush="true|false"/>

 
属性 
名称 java类型 动态值 描述 
page String 
接受 所要包含资源的页面或上下文相对URI路径 
flush boolean 
不接受 是否在包含目标之前先刷新输出缓冲区 
 
 
示例 
<jsp:include page="navigation.jsp" />


 <jsp:invoke>

说明 
只能用于标记文件中。此动作将计算所命名的片段,并将输出添加到调用页面的输出流或指定的一个变量中。 
 
语法 
<jsp:invoke fragment="fragmentName" [var="var" | varReader="varReader"]
     [scope
="page|request|session|application"/>

 
属性 
名称 java类型 动态值 描述 
fragment String 
不接受 定义片段的属性的名字 
scope String 
不接受 变量的作用域 
var String 
不接受 将计算结果保存为一个String的变量的名字 
varReader String 
不接受 用于保存计算结果并将结果作为一个java.io.Reader加以提供的变量名 
 
 
示例 
<jsp:invoke fragment="pattern" />
<jsp:invoke fragment="pattern" var="result" />


<jsp:output>

说明 
只能用于JSP Document和采用XML语法的标记文件中,修改所生成响应的属性。 
 
语法 
<jsp:output [omit-xml-declaration="trueyes|false|no"]
     [doctype-root-element
="element" [doctype-public="publicID"]
     doctype-system
="systemID"/>

 
属性 
名称 java类型 动态值 描述 
omit-xml-declaration boolean 
不接受 是否禁止容器自动将XML声明添加到响应中 
doctype-root-element String 
不接受 在所生成DOCTYPE声明中使用的根元素名称 
doctype-public String 
不接受 在所生成DOCTYPE声明中使用的公共ID(public ID) 
doctype-system String 
不接受 在所生成DOCTYPE声明中使用的系统ID(system ID) 
 
 
示例 
<jsp:output omit-xml-declaration="true" />
<jsp:output doctype-root-element="html"
     doctype-public
="-//W 3C //DTD XHTML 1.0 Transitional//EN"
     doctype-system
="http://www.w 3c .org/TR/xhtml1/DTD/xhml1-transitional.dtd" />


<jsp:param>

说明 
可用于<jsp:forward><jsp:include>动作体中,从而为目标资源指定额外的请求参数。还可以用在<jsp:params>动作体内用来指定applet参数。  
 
语法 
<jsp:param name="parameterName" value="parameterValue" />

 
属性 
名称 java类型 动态值 描述 
name String 
不接受 参数名 
value String 
接受 参数值 
 
 
示例 
<jsp:include page="navigation.jsp">
  
<jsp:param name="bgcolor" value="<%= currentBGColor %>" />
</jsp:include>


<jsp:params>

说明 
只能用于<jsp:plugin>动作体内,以包围一组指定applet参数的<jsp:param>动作。  
 
语法 
<jsp:params>
  One or more 
<jsp:param> action
</jsp:params>

 
示例 
<jsp:plugin type="applet" code="Clock.class" codebase="applet"
     jreversion
="1.2" width="160" height="150">
  
<jsp:params>
    
<jsp:param name="bgcolor" value="ccddff" />
  
</jsp:params>
</jsp:plugin>


<jsp:plugin>

说明 
用于生成HTML<object><embed>标签。这些标签将导致java插件的下载,还将导致所指定的Java appletjavaBeans组件得以执行。  
 
语法 
<jsp:plugin [align="bottom|middle|top"] [archive="archiveList"]
     code
="className" codeBase="relativePath" [height="height"]
     [hspace
="horizontalSpace"] [iepluginurl="pluginURL"]
     [jreversion
="jreVersion"] [name="appletName"]
     [nspluginurl
="pluginURL"] [title="title"] type="applet|bean"
     [vspace
="verticalSpace"] [width="width"]>
  Optionally one 
<jsp:param> and one <jsp:fallback> action.
</jsp:plugin>

 
属性 
名称 java类型 动态值 描述 
align String 
不接受 applet区域的对齐设置 
archive String 
不接受 指定用于codebase目录下类装载器预装载的存档文件的路径,可以提高执行效率 
code String 
不接受 指定被Java Plugin执行的Java类名称,必须以.class结尾,并且必须在codebase指定的目录下 
codeBase String 
不接受 指定Java类的路径,必须为JSP网页所在路径的一个子目录,默认为JSP网页所在的路径。 
height String 
接受 以象素为单位的高度,或用百分比指定 
hspace String 
不接受 以象素为单位的左右补白的大小 
iepluginurl String 
不接受 表示IE用户能够使用的JRE的下载地址 
jreversion String 
不接受 表示执行AppletBean所需的JRE的版本,默认为1.1 
name String 
不接受 BeanApplet的名字 
nspluginurl String 
不接受 Netscape Navigator用户能够使用的JRE的下载地址 
title String 
不接受 工具提示的文本 
type String 
不接受 指定将被执行的对象类型,必须指定,没有默认值 
vspace String 
不接受 以象素为单位的上下补白的大小 
width String 
接受 以象素为单位的宽度,或用百分比指定 
 
 
示例 
<jsp:plugin type="applet" code="Clock.class" codebase="applet"
     jreversion
="1.2" width="160" height="150">
  
<jsp:params>
    
<jsp:param name="bgcolor" value="ccddff" />
  
</jsp:params>
  
  
<jsp:fallback>
    Plugin tag OBJECT or EMBED not supported by brower.
  
</jsp:fallback>
</jsp:plugin>


<jsp:root>

说明 
只能用于JSP Document中,它表示一个JSP文档的根元素。 
 
语法 
<jsp:root version="jspVersion">
  Well-formed XML content
</jsp:root>

 
属性 
名称 java类型 动态值 描述 
version String 
不接受 JSP文档所遵循的JSP规范版本 
 
 
示例 
<jsp:root version="2.0">
  
<employee>
    
<name>${param.empName}</name>
    
<dept>${param.empDept}</dept>
  
</employee>
</jsp:root>


<jsp:scriptlet>

说明 
脚本块的JSP Document表示形式,对应于<% scriptlet %>  
 
语法 
<jsp:scriptlet>scriptlet</jsp:scriptlet>

 
示例 
<jsp:scriptlet>
  for( int i = 0; i 
< 10 ++i )
    System.out.println( i + "<br
>" ) ;
</jsp:scriptlet>


<jsp:setProperty>

说明 
bean设置一个或多个属性的值。 
 
语法 
<jsp:setProperty name="beanVariableName" property="propertyName"
     [param
="parameterName" | value="value"/>

 
属性 
名称 java类型 动态值 描述 
name String 
不接受 指定给某个JSP作用域中的一个bean的名字 
property String 
不接受 待设置bean属性的名字,也可以是一个星号,以设置名字与请求参数匹配的所有属性 
param String 
不接受 属性的值由指定名称的请求参数的值填充。如果忽略,参数名和属性名必须一致 
value 
合法Java类型 接受 指定给属性的显示值,不能与param一起使用 
 
 
示例 
<jsp:setProperty name="user" property="*" />
<jsp:setProperty name="user" property="modDate"
     Value
="<%= new java.util.Date() %>" />


<jsp:text>

说明 
主要面向JSP Document,其体必须只包含模板文本和EL表达式。动作体的内容计算后,其结果将添加到响应输出。 
 
语法 
<jsp:text>
  Template text and EL expressions only.
</jsp:text>

 
示例 
<jsp:text>
  Some text and ${anELexpression}
</jsp:text>
<jsp:text>
  
<![CDATA[<unknownelement />]] >
</jsp:text>


<jsp:useBean>

说明 
将一个javabean与某个JSP作用域中的一个名字相关联,并使之作为一个脚本变量可用。首先会在指定的作用域中查找指定名的bean,如果没有找到,则会创建指定类的一个新实例。 
 
语法 
语法 1 使用一个具体类,没有体
<jsp:useBean id="beanVariableName" class="className"
     [scope
="page|request|session|application"/>

语法 2 使用一个具体类,有体
<jsp:useBean id="beanVariableName" class="className"
     [scope
="page|request|session|application"]>
  Evaluated if a new instance is created.
</jsp:useBean>

语法 3 使用一个类型,以及可选的一个类或串行化bean,没有体
<jsp:useBean id="beanVariableName" type="calssName"
     [class
="className" | beanName="className"]
     [scope
="page|request|session|application"/>

语法 4 使用一个类型,以及可选的一个类或串行化bean,有体
<jsp:useBean id="beanVariableName" type="calssName"
     [class
="className" | beanName="className"]
     [scope
="page|request|session|application"]>
  Evaluated if a new instance is created.
</jsp:useBean>

 
属性 
名称 java类型 动态值 描述 
beanName String 
接受 bean的名字,如java.beans包中。类instantiate()方法所指定 
class String 
不接受 bean的完全限定类名 
id String 
不接受 为指定作用域中的bean所指定的名字,以及脚本变量的名字 
scope String 
不接受 bean的作用域 
type String 
不接受 bean的完全限定类型名 
 
 
示例 
<jsp:useBean id="clock" class="java.util.Date">

 
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值