JSP动作–JSP有三种凝视方式

JSP动作–JSP有三种凝视方式

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

 

一、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代码区中,不同意直接出如今页面中。//单行凝视   /*多行凝视*/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118824.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java中byte类型的范围「建议收藏」

    Java中byte类型的范围「建议收藏」java种为什么byte的范围是-128~127在java中byte类型占8位表示的范围是00000000~11111111总共256个数,java中byte类型有正负,最高位表示正负,0为正,1为负。我们先看正数:00000000~01111111(原码)(0~127,共128个数)我们知道在计算机系统中,数值一律用补码来表示和存储。正数的原码,反码,补码…

    2022年6月29日
    36
  • Keil(MDK-ARM)系列教程(一)_新建软件工程详细过程

    Keil(MDK-ARM)系列教程(一)_新建软件工程详细过程推荐分享一个大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!http://www.captainbed.net/strongerhuang推荐在我的公众号「strongerHuang」或网站(www.strongerhuang.com)阅读以下教程:Keil系列教程01_Keil介绍、下载、安装与注册Keil系列教程02_新建基础…

    2022年5月24日
    41
  • linux安装配置Mysql详细步骤

    linux安装配置Mysql详细步骤下载Mysqlrpm包官网下载:https://dev.mysql.com/downloads/mysql/如果你到了这里,本地应该有了如下四个rpm包:mysql-community-client-5.7.26-1.el6.x86_64.rpmmysql-community-common-5.7.26-1.el6.x86_64.rpmmysql-community-libs-5…

    2022年4月29日
    55
  • JSP的6种乱码解决方案[通俗易懂]

    JSP的6种乱码解决方案[通俗易懂]JSP的6种乱码解决方案

    2022年4月22日
    47
  • 品优购-day03笔记-完善品优购的首页&制作列表页「建议收藏」

    品优购-day03笔记-完善品优购的首页&制作列表页「建议收藏」typora-copy-images-to:media第01阶段.WEB基础:品优购-day03笔记-完善品优购的首页&制作列表页学习目标完善品优购项目的首页index.html制作品优购项目的列表页list.html品优购项目(三)第01阶段.WEB基础:品优购-day02笔记-品优购首页1.品优购首页布局命名集合:名称说明…

    2022年5月8日
    60
  • labelme图像标注_ai标注工具

    labelme图像标注_ai标注工具参考:https://blog.csdn.net/u011574296/article/details/79740633在做目标检测任务时,需要用到labelImg进行画框标注,在之前的文章中已经介绍过该工具的使用方法。然而如果是做语义分割的任务时,就不能只是标注框里,需要用另外一种工具labelme进行标注,本文对该工具的安装使用方法进行介绍。官方教程:https://github.co…

    2025年10月31日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号