一、JSP动作

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

动作元素和指令元素不同,动作元素是在client请求时动态运行的,每次有client请求时可能都会被运行一次,而指令元素是在编译时被编译运行,它仅仅会被编译一次。

<jsp:useBean>

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

jsp:useBean>

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

–        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”);

}

%>

I   jsp实现   <jsp:useBean id="book" class="com.csdn.beans.Book" scope="session"/>

II     java代码  Book book=session.getAttribute(“book”);

If(book==null){

Book book=new Book();

Session.setAttribute(“book”,book);

}

Return book;

上面的I II这两个功能一样

<jsp:setProperty>

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

setProperty的语法:

<jsp:setProperty name="BeanAlias"   

    property="PropertyName"     value="Value"

param="Parameter“

/>

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

<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”))%>

星号(*)字符可用于指定Bean的全部属性。

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

<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"/>

<jsp:include>

二、JSP有三种凝视方式

HTML凝视(输出凝视):指在client查看源码时能看见凝视。比如,

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

JSP页凝视(隐藏凝视):指凝视尽管写在JSP程序中,但不会发送给客户,因此在client查看源码时不能看见凝视。这种凝视在JSP编译时被忽略掉。

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

Java凝视:仅仅能出如今Java代码区中,不同意直接出如今页面中。//单行凝视   /*多行凝视*/

JSP动作--JSP有三种凝视方式的更多相关文章

  1. 复习:JSP基本的语法(JSP凝视 + JSP指令 + JSP脚本元素 + JSP动作元素)

    JSP原理: 1.    对于每个请求.jsp容器都会创建一个新的线程来处理它: 2.    Servlet容器载入jsp后转换成的servlet(.class文件)是常驻内存的,所以对应速度一般比較 ...

  2. JSP 动作元素

    JSP动作元素 1.  动作元素分类 用来动态的包含文件.网页跳转及使用JavaBean组件等. 语法:<jsp:XXX />或者<jsp:XXX></jsp:XXX&g ...

  3. JavaBean用JSP调用和使用JSP动作标签的区别

    javabean的类可以用jsp动作标签实例化并使用. <!-- 下面这句是对Javabean类person的引用,引用的实例是p2 --> <jsp:useBean id=&quo ...

  4. 在一个JSP页面中包含另一个JSP页面的三种方式

    转载自://http://blog.163.com/neu_lxb/blog/static/179417010201121343132918/ (1)include指令          includ ...

  5. Java学习-038-JavaWeb_007 -- JSP 动作标识 - plugin

    plugin 动作时用来在 JSP 页面中加载 Java Applet 或者 JavaBean 组件,语法格式如下所示: <jsp:plugin type="bean|applet&q ...

  6. JSP运行过程 JSP脚本 静态动态包含 jsp指令 jsp内置对象jsp四大作用域 jsp动作元素 EL表达式 JSTL 设计模式 JSP开发模式 EL内置对象

    Day38 JSP JSP的运行过程具体如下: (1)客户端发出请求,请求访问JSP文件. (2)JSP容器先将JSP文件转换成一个Java源文件(Java Servlet源程序),在转换过程中,如果 ...

  7. Tip:JSP标签也称之为Jsp Action(JSP动作)元素

    JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护. ================ &l ...

  8. 一个jsp页面引入另一个jsp页面的三种方式 及静态引入和动态引入的区别

    转载下, 转载自:http://blog.csdn.net/fn_2015/article/details/70311495 1.第一种:jstl  import <c:import url=& ...

  9. 【Head First Servlets and JSP】笔记19:JavaBeans与JSP动作元素(<jsp:setProperty.....>、<jsp:getProperty.....>)

    内容来自imooc. 1.什么是JSP动作元素 2.在JSP页面中如何使用Javabeans <jsp:......>表示这是一个JSP动作元素 3.使用JSP动作元素创建JavaBean ...

随机推荐

  1. html跳转到同一个页面的不同位置

    <html> <body> <p><a href="#C4">查看 Chapter 4.</a></p> & ...

  2. 使用SQL Server CONVERT() 函数

    语法 CONVERT(data_type(length),data_to_be_converted,style) data_type(length) 规定目标数据类型(带有可选的长度).data_to ...

  3. jquery 验证框架的问题 remote的

    1.dataType 类型:String 预期服务器返回的数据类型.如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断,比如 XML MIME 类型就被识别为 XML.在 1 ...

  4. android studio adb 打不开

    1.cmd-->C:\Users\Administrator>adb start-serveradb server is out of date. killing...error: cou ...

  5. [转]C++宏定义详解

    一.#define的基本用法     #define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质 ...

  6. js兼容性大全(持续更新)

    javascript部分 1. document.form.item 问题 问题: 代码中存在 document.formName.item("itemName") 这样的语句,不 ...

  7. 利用谷歌 kaptcha 进行验证码生成

    package main.com.smart.controller; import com.google.code.kaptcha.Producer; import main.com.smart.ut ...

  8. centos6.4虚拟机vmware-tools安装及启动到进度条卡死

    vmware-tools安装: linux-VMware tools安装步骤: (1)在CD-ROM虚拟光驱中选择使用ISO镜像,找到VMWARE TOOLS 安装文件,如D:\VMware\VMwa ...

  9. ASP.NET MVC学习之路:模板页

    1.MVC开发步骤: 控制器-视图. 2.每一个视图都会有一个默认的模板页:_ViewStart.cshtml. 名字不能改,只能叫_ViewStart. 3.Layout=”~/Views/Shar ...

  10. 以前5年只专注于.net,现今开始学习java.

    从2011年毕业至今一直在学习.net和c#,大概几年6月份底开始研究java了. 虽然不知道以后的路是否好走,但是我依然会努力.不放弃! 写这篇文字是为了鼓励自己,也为这段时光留下记忆.加油,红红!