`

jsp 七大动作

阅读更多

 

jsp动作

1.创建bean对象:

<jsp:useBean id="bean
对象引用名" class="." scope="对象作用域(page(默认)/request/session/application)" />


2.
为对象设置属性值:

   <jsp:setProperty   name="bean
对象" property="bean对象属性" param="请求参数名(表单元素名)">

   <jsp:setProperty   name="bean
对象" property="bean对象属性" value="变量的值">    

注意:属性名区别大小写,param value只能单独用,不能合用
<body>

<jsp:useBean id="xxx" class="action.MySimpleTag" scope="session"/>

<jsp:getProperty name="xxx" property="value"/>

<form action="useBean.jsp" method="post">

用户名:

<input type="text" value="" name="username"/>

<input type="submit" value="提交">

</form>

</body>

 

<body>

<jsp:useBean id="xxx" class="action.MySimpleTag" scope="session"/><!-- useBean动作 -->

<jsp:setProperty name="xxx" property="value" param="username"/>

<jsp:forward page="testuseBean.jsp"/>

</body>

3.
从对象中取出属性值:<jsp:getProperty name="bean对象" property="bean对象属性" >

4.
页面转向:<jsp:forward page="转向页面的url">

  
注意:动作标签的转向是同一次请求,等价于: request.getRequestDispatcher("/url").forward(request,response)


5<jsp:plugin>:用于指定在客户端运行的插件

6
、传递参数标记: <jsp:param   name="参数名" value="参数值">

常常与 <jsp:forward page="转向页面的url" >
<jsp:include page="url" >
结合使用,在转向和包含页面时传递参数:
如:<jsp:forward page="转向页面的url" >
           <jsp:param   name="
参数名1" value="参数值1">
           <jsp:param   name="
参数名2" value="参数值2">
           ...........
      </jsp:forward>
      <jsp:include page="
转向页面的url" >
           <jsp:param   name="
参数名1" value="参数值1">
           <jsp:param   name="
参数名2" value="参数值2">
           ...........
      </jsp:include>
到达目标页面可以通过 request.getParameter(“参数名”)方式取出对应值

 

7.页面包含:<jsp:include page="url" flush="是否缓冲(true/false)" /> 

指令<%@ include file="url"> 与 动作 <jsp:include page="url" >的区别: 
include
指令和include动作都能实现将外部文档包含到JSP文档中的功能,名称也很相似,非常容易混淆。include指令和include动作到底有什么分别,哪一种方式会更好呢? 
(1).include
指令 
    include
可以在JSP页面转换成Servlet之前,将JSP代码插入其中。它的主要优点是功能强大,所包含的代码可以含有总体上影响主页面的JSP构造,比如属性、方法的定义和文档类型的设定。它的缺点是难于维护只要被包含的页面发生更改,就得更改主页面,这是因为主页面不会自动地查看被包含的页面是否发生更改。 
include
指令的语法格式如下 
    <%@ include file="Relative Url"%> 

2.include
动作 
  jsp:include
动作是在主页面被请求时,将次级页面的输出包含进来。尽管被包含的页面的输出中不能含有JSP,但这些页面可以是其他资源所产生的结果。服务器按照正常的方式对指向被包含资源的URL进行解释,因而这个URL可以是ServletJSP页面。服务器以通常的方式运行被包含的页面,将产生的输出放到主页面中,这种方式与RequestDispatcher类的include方法一致。它的优点是在被包含的页面发生更改时,无须对主页面做出修改。它的缺点是所包含的是次级页面的输出,而非次级页面的实际代码,所以在被包含的页面中不能使用任何有可能在整体上影响主页面的JSP构造。 
  jsp:include
动作的完整语法如下 
<jsp:include page="Relative path to resource" flush="true"> 
  
其中jsp:include之间不能有空格,page属性指定被包含的页面,这个属性是必需的,是指向某种资源的相对URL。如果这个相对URL不是以/开头,则将其解释为相对于主页面的路径;如果是以/开头,是这个URL被解释为相对于当前WEB应用的根目录,而不是服务器的根目录,这是因为该URL是由服务器来解释的,不是由用户的浏览器来解释的。像下面这行代码,是由用户的浏览器进行解释的,因此会按照相对于服务器的根目录进行解释。 
  flush
属性是一个可选的次级属性,默认值为false,它指定在将页面包含进来之前是否应该清空主页面的输出流。 
   
注意:在JSP1.1中,flush是必需的属性,而且聚会只能是true 
3.
两者的区别和比较 
   jsp:include
动作和include指令之间的根本性的不同在于它们被调用的时间。jsp:include动作在请求期间被激活,而include指令在页面转换期间被激活。 
   
两者之间的差异决定着它们在使用上的区别。使用include指令的页面要比使用jsp:include动作的页面难于维护。前面已经说过,使用JSP指令,如果包含的JSP页面发生变化,那么用到这个页面的所有页面都需要手动更新。在JSP服务器的相关规范中并没要求能够检测出包含的文件什么时候发生改变,实际上大多数服务器页都有去实现这种机制。这样就会导致十分严重的维护问题,需要记住所有包含某一个页面的其他页面,或者重新编译所有的页面,以使更改能够生效。在这点上,jsp:include就体现出了十分巨大的优势,它在每次请求时重新把资源包含进来。在实现文件包含上,应该尽可能地使用jsp:include动作。 
   jsp:include
动作直比于include指令在维护上有着明显优势,而include指令仍然能够得以存在,自然在其他方面有特殊的优势。这个优势就是include指令的功能更强大,执行速度也稍快。include指令允许所包含的文件中含有影响主页面的JSP代码,比如响应报送的设置和属性方法的定义。以下表格就是两种包含方式的对比
  

 


 

了解到jsp:include动作和include指令各自的功能和区别,在使用时,就可以通过考虑各方面的因素,来决定使用哪一种方式。尽管各自都有一定的优缺点,在实际使用中,还是应优先考虑使用jsp:include动作,这是因为它在代码维护上的优势远胜过其在功能上的不足。 

  • 大小: 120.5 KB
分享到:
评论

相关推荐

    这是一篇有关 在线聊天系统 的系统报告书

    1)针对JSP六大元素:注释元素,模板元素,脚本元素,指令元素,动作元素. 2)提供一个在线实时沟通平台.进入系统的用户可以选择自己感兴趣的聊天室 2.4系统功能 本程序的主要模块有四个:用户注册模块,管理员管理模块,...

    Java语言基础下载

    动作元素 597 &lt;jsp:include&gt; 598 JSP内置对象 605 Session和Application对象 610 JSP的汉字问题的原理 611 自定义标签 613 标准标签的使用 618 内容总结 621 独立实战 622 第三十章:struts入门 623 学习目标 623 ...

    Java面试宝典2020修订版V1.0.1.doc

    17、Jsp有哪些动作?作用分别是什么? 37 18、JSP中动态INCLUDE与静态INCLUDE的区别? 37 19、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么? 38 20、页面传递对象的方法? 38 21、Cookied和session区别?...

    Java面试宝典2010版

    12. jsp有哪些动作?作用分别是什么? 13、JSP的常用指令 14. JSP中动态INCLUDE与静态INCLUDE的区别? 15、两种跳转方式分别是什么?有什么区别? 16、页面间对象传递的方法 17、JSP和Servlet有哪些相同点和不同点...

    最新Java面试宝典pdf版

    12. jsp有哪些动作?作用分别是什么? 88 13、JSP的常用指令 89 14. JSP中动态INCLUDE与静态INCLUDE的区别? 89 15、两种跳转方式分别是什么?有什么区别? 89 16、页面间对象传递的方法 89 17、JSP和Servlet有哪些相同...

    Java面试笔试资料大全

    12. jsp有哪些动作?作用分别是什么? 88 13、JSP的常用指令 89 14. JSP中动态INCLUDE与静态INCLUDE的区别? 89 15、两种跳转方式分别是什么?有什么区别? 89 16、页面间对象传递的方法 89 17、JSP和Servlet有哪些相同...

    JAVA面试宝典2010

    12. jsp有哪些动作?作用分别是什么? 88 13、JSP的常用指令 89 14. JSP中动态INCLUDE与静态INCLUDE的区别? 89 15、两种跳转方式分别是什么?有什么区别? 89 16、页面间对象传递的方法 89 17、JSP和Servlet有哪些相同...

    Java面试宝典-经典

    12. jsp有哪些动作?作用分别是什么? 88 13、JSP的常用指令 89 14. JSP中动态INCLUDE与静态INCLUDE的区别? 89 15、两种跳转方式分别是什么?有什么区别? 89 16、页面间对象传递的方法 89 17、JSP和Servlet有哪些相同...

    java面试题大全(2012版)

    12. jsp有哪些动作?作用分别是什么? 88 13、JSP的常用指令 89 14. JSP中动态INCLUDE与静态INCLUDE的区别? 89 15、两种跳转方式分别是什么?有什么区别? 89 16、页面间对象传递的方法 89 17、JSP和Servlet有哪些相同...

    Java面试宝典2012版

    12. jsp有哪些动作?作用分别是什么? 88 13、JSP的常用指令 89 14. JSP中动态INCLUDE与静态INCLUDE的区别? 89 15、两种跳转方式分别是什么?有什么区别? 89 16、页面间对象传递的方法 89 17、JSP和Servlet有哪些...

    java面试宝典2012

    12. jsp有哪些动作?作用分别是什么? 97 13、JSP的常用指令 97 14. JSP中动态INCLUDE与静态INCLUDE的区别? 97 15、两种跳转方式分别是什么?有什么区别? 97 16、页面间对象传递的方法 98 17、JSP和Servlet有哪些相同...

    Java面试宝典2012新版

    12. jsp有哪些动作?作用分别是什么? 88 13、JSP的常用指令 89 14. JSP中动态INCLUDE与静态INCLUDE的区别? 89 15、两种跳转方式分别是什么?有什么区别? 89 16、页面间对象传递的方法 89 17、JSP和Servlet有哪些相同...

    java面试题

    46. jsp有哪些动作?作用分别是什么? 21 47. 两种跳转方式分别是什么?有什么区别? 22 48. get和post的区别? 22 49. JDK,JRE,JVM的区别? 22 50. Java中常见类,方法,接口 23 51. 多线程 23 51.1. 线程的基本概念 23...

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    可是一大堆的概念和术语往往让人望而生畏,很多朋友问我:XML到底有什么用,我们是否需要学习它?我想就我个人学习过程的心得和经验,写一篇比较全面的介绍文章。首先有两点是需要肯定的:  第一:XML肯定是未来的...

    Java 面试宝典

    一. Java 基础部分..................................................................................................................... 7 1、一个".java"源文件中是否可以包括多个类(不是内部类)?...

Global site tag (gtag.js) - Google Analytics