JSP课程:浅谈指令和标签
创始人
2024-04-09 13:00:47
0

在JSP中定义了一些称之为JSP指令和Action的元素,JSP指令是为了JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分。在JSP页面中使用Action元素可以完成各种通用的JSP页面功能,也可以实现一些处理复杂业务逻辑的专用功能。

以下是今天JSP课程的重点内容:

Ⅰ.JSP课程—JSP指令

1.JSP指令的基本语法格式:

<%@指令属性名="值"%>

举例:

  1. <%@pagecontentType="text/html;charset=gb2312"%'>%@pagecontentType="text/html;charset=gb2312"%> 

注意:属性名部分是大小写敏感的。

2.在目前的JSP2.0中,定义了page、include和taglib这三种指令,每种指令中又都定义了一些各自的属性。

3.如果要在一个JSP页面中设置同一条指令的多个属性,可以使用多条指令语句单独设置每个属性,也可以使用同一条指令语句设置该指令的多个属性。

<1>***种方式:

  1. <%@pagecontentType="text/html;charset=gb2312"%> 
  2. <%@pageimport="java.util.Date"%> 

<2>第二种方式:

  1. <%@pagecontentType="text/html;charset=gb2312"import="java.util.Date"%> 

4.page指令:

<1>定义:用于定义JSP页面的各种属性,无论page指令出现在JSP页面中的什么地方,它作用的都是整个JSP页面,为了保持程序的可读性和遵循良好的编程习惯,page指令***是放在整个JSP页面的起始位置。

<2>JSP2.0规范中定义的page指令的完整语法:

  1. <%@page  
  2. [language="java"]  
  3. [extends="package.class"]  
  4. [import="{package.class|package.*},..."]  
  5. [session="true|false"]  
  6. [buffer="none|8kb|sizekb"]  
  7. [autoFlush="true|false"]  
  8. [isThreadSafe="true|false"]  
  9. [info="text"]  
  10. [errorPage="relative_url"]  
  11. [isErrorPage="true|false"]  
  12. [contentType="mimeTyp[;charset=characterSet]"|"text/html;charset=ISO-8859-1"]  
  13. [pageEncoding="characterSet|ISO-8859-1"]  
  14. [isELIgnored="true|false"]  
  15. %> 

5.include指令:

<1>定义:include指令用于通知JSP引擎在翻译当前JSP页面时将其他文件中的内容合并进当前JSP页面转换成的Servlet源文件中,这种在源文件级别进行引入的方式称之为静态引入,当前JSP页面与静态引入的页面紧密结合为一个Servlet。

<2>语法:

  1. <%@includefile="relativeURL"%> 

其中的file属性用于指定被引入文件的相对路径。

Ⅱ.JSP课程——JSP标签:

1.JSP还提供了一种称之为Action的元素,在JSP页面中使用Action元素可以完成各种通用的JSP页面功能,也可以实现一些处理复杂业务逻辑的专用功能。

2.Action元素采用XML元素的语法格式,即每个Action元素在JSP页面中都以XML标签的形式出现。

3.JSP规范中定义了一些标准的Action元素,这些元素的标签名都以jsp作为前缀,并且全部采用小写,例如,等等。

4.JSP标签内容:

<1>标签用于把另外一个资源的输出内容插入进当前JSP页面的输出内容之中,这种在JSP页面执行时的引入方式称之为动态引入。
语法:

  1. <jsp:includepagejsp:includepage="relativeURL|<%=expression%>"flush="true|false"/> 

page属性用于指定被引入资源的相对路径,它也可以通过执行一个表达式来获得。
flush属性指定在插入其他资源的输出内容时,是否先将当前JSP页面的已输出的内容刷新到客户端。

<2>标签用于把请求转发给另外一个资源。

语法:

  1. <jsp:forwardpagejsp:forwardpage="relativeURL|<%=expression%>"/> 

page属性用于指定请求转发到的资源的相对路径,它也可以通过执行一个表达式来获得。

<3>标签:

当使用标签引入或将请求转发给的资源是一个能动态执行的程序时,例如Servlet和JSP页面,那么,还可以使用标签向这个程序传递参数信息。

语法1:

  1. <jsp:includepagejsp:includepage="relativeURL|<%=expression%>"> 
  2. <jsp:paramnamejsp:paramname="parameterName"value="parameterValue|<%=expression%>"/> 
  3.  

语法2:

  1. <jsp:forwardpagejsp:forwardpage="relativeURL|<%=expression%>"> 
  2. <jsp:paramnamejsp:paramname="parameterName"value="parameterValue|<%=expression%>"/> 
  3.  

标签的name属性用于指定参数名,value属性用于指定参数值。在标签中可以使用多个标签来传递多个参数。

Ⅲ.JSP课程—JSP中文乱码问题:

1.JSP程序存在有与Servlet程序完全相同的中文乱码问题:

<1>输出响应正文时出现的中文乱码问题;

<2>读取浏览器传递的参数信息时出现的中文乱码问题。

2.JSP引擎将JSP页面翻译成Servlet源文件时也可能导致中文乱码问题:

<1>JSP引擎将JSP源文件翻译成的Servlet源文件默认采用UTF-8编码,而JSP开发人员可以采用各种字符集编码来编写JSP源文件,因此,JSP引擎将JSP源文件翻译成Servlet源文件时,需要进行字符编码转换。

<2>如果JSP文件中没有说明它采用的字符集编码,JSP引擎将把它当作默认的ISO8859-1字符集编码处理。

3.如何解决JSP引擎翻译JSP页面时的中文乱码问题。

<1>通过page指令的contentType属性说明JSP源文件的字符集编码;

<2>page指令的pageEncoding属性说明JSP源文件的字符集编码;

<3>在部署描述符中说明一组JSP源文件的字符集编码。

【编辑推荐】

  1. 怎样学习JSP技术
  2. JSP技术入门学习
  3. 使用JSP include机制改进外观
  4. JSP教程基础之脚本的使用
  5. JSP教程基础篇之HTML表单演示

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...