2011-10-28 jsp include <jsp:useBean>

来源:互联网 发布:apache centos e325 编辑:程序博客网 时间:2024/06/06 12:19
 

2011-10-28  jsp   include   <jsp:useBean>

Jsp编写中各种注意事项:

<%之间,%@之间不能有空格,%>之间也不能有空格

可以使用多个page指令,但对于每个页只能声明给定属性一次,除了import属性外。属性名称是大小写敏感的

import属性是唯一一个可以在同一个页面中出现多次的属性。

java.lang.*  javax.servlet.*  javax.servlet.jsp.*  javax.servlet.http.*都已经被隐含的引入,包中的类、接口等不需要引入就可以使用。

MIME类型是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时在包含的文件中,最好不要使用<html></html><body></body>等标签。

候,浏览器会自动使用指定应用程序来打开

不能用分号;来作为表达式的结束符;

表达式必须是一个合法的Java表达式。

表达式必须有一个返回值,且返回值被转换成字符串。

变量的声明必须以;结尾,该声明仅在一个页面中有效,如果想每个页面都用到一些声明,最好把它们写成一个单独的文件,然后用<%@include%><jsp:include>元素包含进来。

在编写上,JavaBean的类必须使用package语句;

public、无参构造方法;

getter/setter方法必须是public的,分别以setget开头,方法命名上遵循Java的命名规范。

当属性类型为boolean类型的时候,getter方法的get可以用is代替。

include指令:

include指令用于在JSP页面中包含一个文件,该文件可以是JSP页面、HTML网页、文本文件或一段Java代码,用它可以简化页面代码,提高代码的重用性。

语法:<%@ include file="相对于当前文件的url" %>

url为被包含文件的相对路径,如果以“/”开始,相对于这个应该的根目录,如果没有以“/”开头,则相对当前的JSP页面。

<jsp:useBean>:

<jsp:useBean>useBean动作用于创建引用,并将现有的Bean组件嵌入JSP

从形式上看,JavaBean与一般的普通Java类没有特别大的区别,但是需要满足两个条件:

首先类是公有的,有一个默认的无参的构造方法;

其次在类中可以定义若干个私有的属性,但是需要通过公有的getter/setter方法对这些属性进行赋值和取值,并且getter/setter方法不能重载。

满足上述两个条件的类就可以称为JavaBean类。JavaBean类中除了getter/setter方法外也可以包括其他一些方法。

<jsp:useBean>

useBean动作用于创建引用,并将现有的Bean组件嵌入JSP 

useBean的语法:

<jsp:useBean id="BeanName" class="BeanClass"   scope="page|request|session|application"/>

1<jsp:setProperty name=book” property=name” value=Java SE程序设计精讲”/>
等价于<%book.setName(Java SE程序设计精讲”);%>

2<jsp:setProperty name=book” property=name” param=bookName>      request对象中的参数bookName的值给JavaBean中的name属性赋值。等价于
<%book.setName(request.getParameter(bookName))%>

3<jsp:setProperty name=book” property=name>
request对象中的参数名称和JavaBean中属性名一样。等价于<%book.setName(request.getParameter(name))%>

4)星号(*)字符可用于指定Bean的所有属性。

<jsp:setProperty name=book” property=*” />

使用JavaBean的好处

JavaBean技术更有利于Web开发的代码复用。因为写在JSP页面中的Java代码片段重用性要差一些,而JavaBean是一个Java类,更方便在其他Web应用中复用。

JavaBean技术还有利于开发项目的角色分工,让页面设计人员和程序编写人员更容易地修改JSP页面中自己所管辖的内容,而不必互相干扰。

include指令和<jsp:include>动作的区别

inlcude指令读入指定页面的内容并把这些内容和原来的页面融合到一起。这个过程发生在JSP转化成Servlet的阶段,最终所合成的JSP文件被Servlet容器转化成Servlet。如果一个JSP页面使用include指令包含了另一个JSP页面,最终也只产生一个ServletJava源文件和一个class文件。相当于兵合一处,将打一方。

使用<jsp:include>动作包含其他JSP页面,本质是调用了被包含文件所转化的Servlet对象的jspService()方法。即所被包含的JSP文件也对应有生成的Servlet源文件和class文件。如果一个JSP页面使用include动作包含了另一个JSP页面,会产生两个Servlet源文件和两个class文件。

原创粉丝点击