JSP动作和注释
来源:互联网 发布:淘宝赚取佣金 编辑:程序博客网 时间:2024/05/01 16:12
JSP动作与注释
昨天我们在讲JSP页面构成的时候,我们讲到JSP页面是由两个部分组成,分别是静态内容和动态内容。然而动态内容主要是由JSP元素组成,其中JSP元素主要是由指令元素、脚本元素、JSP动作和注释组成。昨天我们已经讲了指令元素和脚本元素,今天我们一起来了解一下JSP动作和注释。
JSP动作是一个特殊的标记,通过一个动作标记可以实现多行Java代码实现的效果。可以动态插入文件、重用JavaBean组件、导向另一个页面等。动作元素与指令元素不同,动作元素是在客户端请求是动态执行的,每次有客户端请求时可能都会被执行一次,而指令元素是在编译时被编译执行,它只会被编译一次。
jsp:useBean动作用来装载一个将在JSP页面中使用的JavaBean。这个功能非常有用,因为它使得我们既可以发挥Java组件重用的优势,同时也避免了损失JSP区别于Servlet的方便性。
那么什么是JavaBean呢?
从形式上看,JavaBean与一般的普通Java类没有特别大的区别,但是需要满足两个条件:
首先类是公有的,有一个默认的无参的构造方法;其次在类中可以定义若干个私有的属性,但是需要通过公有的getter/setter方法对这些属性进行赋值和取值,并且getter/setter方法不能重载
满足上述两个条件的类就可以称为JavaBean类。JavaBean类中除了getter/setter方法外也可以包括其他一些方法。(注意:在编写上,JavaBean的类必须使用package语句;public、无参构造方法;getter/setter方法必须是public的,分别以set及get开头,方法命名上遵循Java的命名规范。当属性类型为boolean类型的时候,getter方法的get可以用is代替)。
useBean的语法:<jsp:useBean id="BeanName" class="BeanClass" scope="page|request|session|application"/>
id指定创建Bean的引用名,Class指定Bean的类,scope指定Bean的范围,默认为page。
<jsp:setProperty>
setProperty动作用于设置useBean中指定的Bean的属性的值。setProperty动作指定JavaBean的名称、属性名、属性值和参数,用于赋值给Bean的属性。
setPropert的语法:
<jsp:setProperty name="BeanAlias"
property="PropertyName" value="Value"
param="Parameter“
/>
Name:JavaBean的名称。Property:JavaBean中属性的名称。Value:给属性赋值。Param:也可用指定参数的值给属性赋值。param和value不能一起使用。
<jsp:setProperty name=“book” property=“name” value=“Java SE程序设计精讲”/>
等价于<%book.setName(“Java SE程序设计精讲”);%>。
<jsp:setProperty name=“book” property=“name” param=“bookName”> 用request对象中的参数bookName的值给JavaBean中的name属性赋值。等价于
<%book.setName(request.getParameter(“bookName”))%>
<jsp:setProperty name=“book” property=“name”>
request对象中的参数名称和JavaBean中属性名一样。等价于<%book.setName(request.getParameter(“name”))%>
星号(*)字符可用于指定Bean的所有属性。
<jsp:setProperty name=“book” property=“*” />
<jsp:getProperty>
getProperty动作用于获取Bean中指定的属性中的值。系统先将收到的值转换为字符串,然后再将其作为输出结果发送。
getProperty的语法:
<jsp:getProperty name="BeanAlias" property="PropertyName"/>
Name:JavaBean的名称。Property:JavaBean中属性的名称。
使用JavaBean的好处
JavaBean技术更有利于Web开发的代码复用。因为写在JSP页面中的Java代码片段重用性要差一些,而JavaBean是一个Java类,更方便在其他Web应用中复用。
JavaBean技术还有利于开发项目的角色分工,让页面设计人员和程序编写人员更容易地修改JSP页面中自己所管辖的内容,而不必互相干扰。
<jsp:include>
include动作用于将其他HTML页面或JSP页面中的内容合并到当前页面,或将其中的文件插入到当前页面。
不带参数的include动作:
<jsp:include page="weburl" flush="true"/>
带参数的include动作:
<jsp:include page="weburl" flush="true">
<jsp:param name="ParamName" value="ParamValue"/>
include指令和<jsp:include>动作的区别:
inlcude指令读入指定页面的内容并把这些内容和原来的页面融合到一起。这个过程发生在JSP转化成Servlet的阶段,最终所合成的JSP文件被Servlet容器转化成Servlet。如果一个JSP页面使用include指令包含了另一个JSP页面,最终也只产生一个Servlet的Java源文件和一个class文件。相当于兵合一处,将打一方。
使用<jsp:include>动作包含其他JSP页面,本质是调用了被包含文件所转化的Servlet对象的jspService()方法。即所被包含的JSP文件也对应有生成的Servlet源文件和class文件。如果一个JSP页面使用include动作包含了另一个JSP页面,会产生两个Servlet源文件和两个class文件。
<jsp:forward>
forward动作用来把当前的JSP页面重定向到另一个页面(同一个Web应用中的HTML文件、JSP页面、Servlet)。地址还是当前页面的地址。内容则是另一个页的内容。
不带参数的forward动作:<jsp:forward page="url"/>
带参数的include动作:
<jsp:forward page="url">
<jsp:param name="ParamName" value="ParamValue"/>
</jsp:forward>
(使用<jsp:forward>动作转向,和Servlet中的重定向代码完全等同。)
<jsp:param>
param提供其他JSP动作的名称/值信息。
param语法:
<jsp:param name="ParamName" value="ParamValue"/>
<jsp:plugin>
用于连接客户端的Applet和Bean插件。在处理这个动作的时候,根据客户端浏览器的不同,JSP在执行以后将分别输出为OBJECT或EMBED这两个不同的HTML元素。
上面我们讲解了JSP动作,下面我们来说一下JSP的注释:
JSP有三种注释方式:
– HTML注释(输出注释):指在客户端查看源代码时能看见注释。例如,
<!-- this is an html comment.it will show up int the response. –>
JSP页注释(隐藏注释):指注释虽然写在JSP程序中,但不会发送给客户,因此在客户端查看源代码时不能看见注释。这样的注释在JSP编译时被忽略掉。
<%--this is a JSP comment.it will only be seen in jsp code--%>
Java注释:只能出现在Java代码区中,不允许直接出现在页面中。//单行注释 /*多行注释*/
关于JSP的动作和注释我们就讲到这里。
- JSP动作和注释
- JSP - JSP中的脚本、指令、动作和注释
- JSP中的脚本、指令、动作和注释标识
- JSP动作--JSP有三种注释方式
- JSP动作--JSP有三种注释方式
- JSP应用——动作元素、注释
- jsp注释和html注释
- JSP内置动作和对象
- JavaBean和jsp标准动作
- 复习:JSP基本语法(JSP注释 + JSP指令 + JSP脚本元素 + JSP动作元素)
- JSP指令和JSP动作的区别
- JSP编译指令和JSP动作指令
- JSP01:注释方法、编译和动作指令
- JSP注释和声明
- JSP脚本和注释
- jsp注释和声明
- jsp的include动作和forward动作遇到的问题
- jsp注释和Java注释的总结;
- Struts2防止表单重复提交
- Oracle 多行转一行,一行转多行
- VS2008 快捷键
- ASP解析JSON
- asp.net 程序开发 范例宝典光盘下载
- JSP动作和注释
- 应届生签约注意事项
- oracle link
- 解释器模式(python)
- 慧智预推出更多aiwi独占游戏
- 用LINUX+SYSLOG-NG+PHP-SYSLOG-NG搭建日志服务器
- android 超级终端,记得先用SU获取最高权限
- ASP中模拟PHP的关联数组
- 数据挖掘--统计基础概念