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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 薯条 SpringBoot 在IDEA中实现热部署 (JRebel实用版)「建议收藏」

    薯条 SpringBoot 在IDEA中实现热部署 (JRebel实用版)「建议收藏」热部署只是针对class文件,源文件这些。对于属性文件.xml或.properties,只要修改了,都需要重启服务器,因为属性文件是在服务器启动的时候加载的,不可能被热部署识别到。下载并安装Jrebel实例服务地址:https://jrebel.qekang.com/{GUID}自行生成GUID地址:在线生成GUID如果失效刷新GUID替换就可以!欢迎留言反…

    2022年5月22日
    110
  • python return换行(python中的换行)

    广告关闭腾讯云11.11云上盛惠,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元!代码太长怎么办,反斜杠引号‘’来帮忙!在写list或者较长的字符串时候,或者多个循环造成ide不够用时,就需要代码换行了。主要的代码换行有通用的反斜杠和针对字符串起作用的三引号结构。1.反斜杠对于一般表达式来说,反斜杠后直接回车即可实现续行,使用的关键在于反斜杠后不能用空格…

    2022年4月16日
    321
  • 数学建模中的选址问题_数学建模停车场规划问题

    数学建模中的选址问题_数学建模停车场规划问题选址问题:是指在规划区域里选择一个或多个设施的位置,使得目标最优。四个要素:设施、规划区域、位置(距离)、目标设施:按照设施的空间维度划分,可以将选址问题分为:1.立体选址问题:设施的高度不能被忽略,如集装箱装箱问题。2.平面选址问题:设施的长、宽不能被忽略,如货运站的仓位布局问题。3.线选址问题:设施的宽度不能被忽略,如在仓库两边的传送带布局问题。4.点选址问题:设施可以…

    2022年9月15日
    3
  • 2021.1 datagrip激活码【2021最新】

    (2021.1 datagrip激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~0U…

    2022年3月28日
    103
  • linux安装elasticsearch7_elasticsearch入门

    linux安装elasticsearch7_elasticsearch入门Linux上elasticsearch7集群搭建前期准备:服务器三台168.168.12.62168.168.12.63168.168.12.64部署jdk解压jdk放在/data目录,/data/jdk配置环境变量,/etc/proifle里面加入如下exportJAVA_HOME=/data/jdkexportPATH=PATH:PATH:PATH:JAVA_HOME/binexportCLASSPATH=.:JAVAHOME/lib/tools.jar:JAVA_HOME/

    2022年10月13日
    2
  • jquery中的ajax写法_jquery中get和post提交的区别

    jquery中的ajax写法_jquery中get和post提交的区别习惯了用单引号. $(function(){ $(‘#outputuserInfo’).keyup(function(){ varorderid=$(‘#outputuserInfo’).val(); $.ajax({ url:’validateUserInfo’, async:false,//false不打引号 type:’POST

    2022年9月29日
    0

发表回复

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

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