JSP应用——动作元素、注释

 

JSP元素

(1)       指令元素

发生时间:在编译时被编译执行

(2)       脚本元素

(3)       动作元素

发生时间:每次有客户端请求时都会被执行一次

•          动作是特殊的标记,通过一个动作标记可以实现多行Java代码实现的效果。可以动态插入文件、重用JavaBean组件、导向另一个页面等。

•          动作元素和指令元素不同,动作元素是在客户端请求时动态执行的,每次有客户端请求时可能都会被执行一次,而指令元素是在编译时被编译执行,它只会被编译一次

动作元素分类:

1、<jsp:useBean>————jsp是前缀,useBean是名字

                                          功能:创建或者返回一个实体Bean组件的实体对象

JavaBean需要的两个条件:

(1)       类是公有的,有一个默认的无参构造方法

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

注意:

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

•          public、无参构造方法;

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

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

JavaBean包含的一些其它方法:

       (1)<jsp:useBean>

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

–        useBean的语法:

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

例子:

  <!-- 作用:

  Book book=(Book)session.getAttribute("book");

    if(book!=null){

        Book book=new Book();

       Session.setAttribute(“book”,book);

    }

    return book;

  通过getAttribute方法获取book对象,如果book是空的则创建该对象,并且将该对象

  设置到session的  作用域范围之内,如果不为空,从session中获取了引用,所有return -->

 <jsp:useBean id="book" class=cn.csdn.beans.Book" scope="session"></jsp:useBean>

    (2)<jsp:setProperty>

–         setProperty动作用于设置useBean中指定的Bean的属性的值。setProperty动作指定JavaBean的名称、属性名、属性值和参数,用于赋给Bean的属性。

–         setProperty的语法:

<jsp:setProperty name="BeanAlias"   
       property="PropertyName"     value="Value"

                param="Parameter“

<jsp:setProperty property="bean对象的属性名称" name="bean对象的名字" value="bean对象的值"/>

实例:

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

(3)<jsp:getProperty>

–         getProperty动作用于获取Bean中指定的属性中的值。系统先将收到的值转换为字符串,然后再将其作为输出结果发送。

–         getProperty的语法:

<jsp:getProperty name="BeanAlias" property="PropertyName"/>

<jsp:getProperty property="bean对象的属性名称" name="bean对象的名字"/>

Out.println(bean对象.getxxx());//具有输出的功能

例如,<jsp:getProperty name=“book” property=“name” />

等价于:<%= book.getName() %>

使用JavaBean的好处

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

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

2、<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页面,通过request.getParameter(“name”)获得被包含文件传递的参数值。】

<jsp:include>

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

–        include指令读入指定页面的内容并把这些内容和原来的页面融合到一起。这个过程发生在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页面和html页面

动作元素包含:

<jsp:include page=”被包含的文件的URL地址”>包含动作会执行多次,每一个客户端提交请求的时候,会有两个servlet产生

指令元素包含:

<%@include file=” 被包含的文件的URL地址”>  发生在转换阶段,只做一次,只会有一个servlet产生

3、<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中的重定向代码完全等同。

4、<jsp:param>

–        param提供其他JSP动作的名称/值信息。

–        param语法:

<jsp:param name="ParamName" value="ParamValue"/>

5、<jsp:plugin>

–        用于连接客户端的Applet和Bean插件。在处理这个动作的时候,根据客户端浏览器的不同,JSP在执行以后将分别输出为OBJECT或EMBED这两个不同的HTML元素。

JSP有三种注释方式

1、  HTML注释(输出注释):指在客户端查看源代码时能看见注释。例如,

<!-- this is an html comment.it will show up int the response. -->

2、  JSP页注释(隐藏注释):指注释虽然写在JSP程序中,但不会发送给客户,因此在客户端查看源代码时不能看见注释。这样的注释在JSP编译时被忽略掉。

<%--this is a JSP comment.it will only be seen in jsp code--%>

3、 Java注释:只能出现在Java代码区中,不允许直接出现在页面中。//单行注释   /*多行注释*/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值