JSP动作
来源:互联网 发布:模拟退火算法的优点 编辑:程序博客网 时间:2024/04/27 16:09
一,介绍
• 动作是特殊的标记,通过一个动作标记可以实现多行Java代码实现的效果。可以动态插入文件、重用JavaBean组件、导向另一个页面等。
• 动作元素和指令元素不同,动作元素是在客户端请求时动态执行的,每次有客户端请求时可能都会被执行一次,而指令元素是在编译时被编译执行,它只会被编译一次。
二, <jsp:useBean>
– useBean动作用于创建引用,并将现有的Bean组件嵌入JSP。
• 什么是JavaBean?
• 从形式上看,JavaBean与一般的普通Java类没有特别大的区别,但是需要满足两个条件:
– 首先类是公有的,有一个默认的无参的构造方法;
– 其次在类中可以定义若干个私有的属性,但是需要通过公有的getter/setter方法对这些属性进行赋值和取值,并且getter/setter方法不能重载。
• 满足上述两个条件的类就可以称为JavaBean类。JavaBean类中除了getter/setter方法外也可以包括其他一些方法。
三, <jsp:useBean>
a) useBean动作用于创建引用,并将现有的Bean组件嵌入JSP 。
b) useBean的语法:
<jsp:useBean id="BeanName" class="BeanClass" scope="page|request|session|application"/>
例如,<jsp:useBean id=“book” class=“com.web.beans.Book” scope=“page” />
在执行时,Web容器会检查这个JavaBean的对象是否已经存在,如果存在就使用存在的JavaBean对象,反之生成一个新的JavaBean对象。相对于:
<% com.web.beans.Book book=null;
if(pageContext.getAttribute(“book”)==null){
book=new com.web.beans.Book();
pageContext.setAttribute(“book”,book);
}else{
book=(Book)pageContext.getAttribute(“book”);
}
%>
四, <jsp:setProperty>
– setProperty动作用于设置useBean中指定的Bean的属性的值。setProperty动作指定JavaBean的名称、属性名、属性值和参数,用于赋给Bean的属性。
– setProperty的语法:
<jsp:setProperty name="BeanAlias"
property="PropertyName" value="Value"
param="Parameter“
(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=“*” />
五, <jsp:getProperty>
a) getProperty动作用于获取Bean中指定的属性中的值。系统先将收到的值转换为字符串,然后再将其作为输出结果发送。
b) getProperty的语法:
<jsp:getProperty name="BeanAlias" property="PropertyName"/>
六, 使用JavaBean的好处
a) JavaBean技术更有利于Web开发的代码复用。因为写在JSP页面中的Java代码片段重用性要差一些,而JavaBean是一个Java类,更方便在其他Web应用中复用。
b) JavaBean技术还有利于开发项目的角色分工,让页面设计人员和程序编写人员更容易地修改JSP页面中自己所管辖的内容,而不必互相干扰
七, <jsp:include>
a) include动作用于将其他HTML页面或JSP页面中的内容合并到当前页面,或将其中的文件插入到当前页面。
b) 不带参数的include动作:
<jsp:include page="weburl" flush="true"/>
– 带参数的include动作:
<jsp:include page="weburl" flush="true">
<jsp:param name="ParamName" value="ParamValue"/>
<jsp:include>
八, include指令和<jsp:include>动作的区别
a) inlcude指令读入指定页面的内容并把这些内容和原来的页面融合到一起。这个过程发生在JSP转化成Servlet的阶段,最终所合成的JSP文件被Servlet容器转化成Servlet。如果一个JSP页面使用include指令包含了另一个JSP页面,最终也只产生一个Servlet的Java源文件和一个class文件。相当于兵合一处,将打一方。
b) 使用<jsp:include>动作包含其他JSP页面,本质是调用了被包含文件所转化的Servlet对象的jspService()方法。即所被包含的JSP文件也对应有生成的Servlet源文件和class文件。如果一个JSP页面使用include动作包含了另一个JSP页面,会产生两个Servlet源文件和两个class文件
九, <jsp:forward>
a) forward动作用来把当前的JSP页面重定向到另一个页面(同一个Web应用中的HTML文件、JSP页面、Servlet)。
b) 地址还是当前页面的地址。内容则是另一个页的内容。
c) 不带参数的forward动作:<jsp:forward page="url"/>
d) 带参数的include动作:
<jsp:forward page="url">
<jsp:param name="ParamName" value="ParamValue"/>
</jsp:forward>
十, <jsp:param>
a) param提供其他JSP动作的名称/值信息。
b) param语法:
<jsp:param name="ParamName" value="ParamValue"/>
十一,<jsp:plugin>
– 用于连接客户端的Applet和Bean插件。在处理这个动作的时候,根据客户端浏览器的不同,JSP在执行以后将分别输出为OBJECT或EMBED这两个不同的HTML元素。
- JSP动作
- JSP动作
- JSP动作
- JSP动作
- JSP动作
- jsp动作
- JSP动作
- JSP动作
- JSP动作
- JSP动作
- JSP动作
- JSP动作
- JSP动作
- jsp 动作
- jsp动作
- JSP 动作
- JSP动作
- JSP 动作
- ASP.NET 安全认证(一)
- 20111027
- 随机生成6位随机数
- 关于PERL的数据库
- SMK开发出可戴着手套输入信息的触控面板
- JSP动作
- 富先生的12堂必修课
- python+mysql 操作数据库出现的中文编码问题
- ubuntu10.4安装交叉编译器arm-none-linux-gnueabi-gcc
- SIM300模块GPRS网络连接和内部电脑通讯!
- java多线程总结五:线程池的原理及实现
- DataTable不要导入重复项,datagridview中设定
- android.process.media crash后现象研究之二
- java中的内部类详解和应用