JSP:操作指令

目录

目录

一、jsp:useBean操作

语法格式:

属性说明: 

scope作用域: 

1.page:

2.request:

3.session:

4.application

案例:JavaBean的简单使用

二、jsp:setProperty操作

语法格式:

属性说明:

案例: 

三、jsp:getProperty操作

 语法格式:

属性说明:

案例: 

四、jsp:include操作

语法格式:

案例: 

五、jsp:forward操作

语法格式:

案例:

六、jsp:param操作

语法格式:

案例: 

七、jsp:plugin操作

语法格式:

属性说明:

案例: 

总结:


一、jsp:useBean操作

JavaBean解释:一种符合特定约定的Java类,用于封装数据和提供对数据的访问方法。

功能:声明一个JavaBean组件实例,如果不存在,则创建一个。

语法格式:

<jsp:useBean id="" scope=""
<%-- 以下为可选属性 --%>
    {
     
        class=""/
        type=""/
        beanName=""/
    }
    
></jsp:useBean>

属性说明: 

属性

解释

id

通过此变量名在程序内访问不同的JavaBean。

scope

定义JavaBean的作用域,默认值为page。

class

说明实例化一个JavaBean所引用的类的名字,类名区分大小写

type

明确指定在JSP页面中使用的JavaBean类的类型。

例如:com.example.User(完全限定类名)。

type值可以和class或baenName相同。

没有使用class或beanName的情况下使用type,JavaBean并不会被实例化。

beanName

属性值为类名、包名或表达式,它作为参数传给java调用方法instantiate()。

该方法检查参数是类还是模板,然后再调用相应方法实例化一个JavaBean。

scope作用域: 

1.page:

        仅在当前页面有效,是默认值。

2.request:

        生命周期和JSP中的request对象保持同步,request对象可被<jsp:forward>传递。

3.session:

        在不关闭浏览器的情况下,在任意JSP界面或http会话中的servlet执行周期内有效,且生命周期与HttpSession对象同步。

4.application

        在不关闭服务器的前提下,在web应用中所有jsp页面或servlet中均有效。它是由JSP引擎分配的,供所有客户访问的共享资源

案例:JavaBean的简单使用

注意:JavaBean一定要放在一个包文件里,import引入的值要为完全限定名(包名+类名),其次class文件必须放在web应用项目目录”WEB-INF\classes\包名“下。

例如:我的.class文件就是放在以下目录

index.jsp文件 

<%@page contentType= "text/html;charset=GB2312" %>
<%@page import="first.Sqare" %>
<html>
<head>
    <title>例子</title>
</head>
<body>
    <h1>
        <jsp:useBean id="tom" class="Sqare" scope="page"></jsp:useBean>
        <% 
            tom.setEdge(35);
        %>
        <p>正方形边长:
            <%=tom.getEdge() %>
        </p>
        <p>正方形面积:
            <%=tom.SqareArea() %>
        </p>
    </h1>
</body>
</html>

Sqare.java文件

package Sqare;


public class Sqare{
    private int edge;
    public Sqare(){
        edge=5;
    }
    public int getEdge() {
        return edge;
    }
    public void setEdge(int edge) {
        this.edge = edge;
    }
    public int SqareArea(){
        return edge*edge;
    }
}

二、jsp:setProperty操作

相当于Java中的set方法,要预先使用useBean申明JavaBean。

语法格式:

<jsp:setProperty name="JavaBean的ID" property="JavaBean内的属性名" value="值/表达式" />

属性说明:

属性名说明
name与usebean的id值相同,说明要使用的javaBean。
property与javaBean内的属性名相同,便于属性值设置和修改。
value设置javabean内属性的值。

案例: 

三、jsp:getProperty操作

相当于Java中的get方法,要预先使用useBean申明JavaBean。

 语法格式:

<jsp:getProperty name="JavaBean的ID" property="JavaBean内的属性名" />

属性说明:

属性名说明
name与usebean的id值相同,说明要使用的javaBean。
property与javaBean内的属性名相同,便于获取属性值。

案例: 

注意:getProperty操作和setProperty操作必须与usebean搭配使用。

四、jsp:include操作

功能:在JSP包含一个静态或动态文件。与JSP的include编译指令(容器指令)有很大区别。include编译指令主要用来包含一个静态文件,随JSP页面一起进行编译,被修改后,必须重新保存转译才能访问到修改后的文件,为一次转译。而jsp:include操作可以包含静态和动态文件,包含静态文件则与include编译指令功能相同,但包含动态文件时,所被包含的文件并不随JSP页面一起进行编译,而是根据需要进行二次编译,编译后会将动态执行的结果传回包含它的JSP页面,当被修改后,刷新即可访问,为二次转译。

语法格式:

<jsp:include page="相对于web应用的路径" ></jsp:include>

案例: 

五、jsp:forward操作

功能:用于将网页重定向到另一个HTML文件或JSP文件。

与JSP内置对象response区别:

        forward方法的调用者与被调用者之间共享Request和Response。

        sendRedirect方法由于两次浏览器服务器请求,所以有两个Request和Response,不共享Request,传参只能在URL上进行。 

语法格式:

<jsp:forward page="相对于web应用的路径" ></jsp:forward>

案例:

六、jsp:param操作

功能:为其它标签提供附加信息,可以用于参数传递。必须配合jsp:include或jsp:forward使用

语法格式:

<jsp:param name="属性名" value="属性值"/>

案例: 

七、jsp:plugin操作

功能:让客户端实现一个小Java程序(Applet或Bean)

语法格式:

<jsp:plugin
    type="bean | applet"
    name="Applet名称"
    code="java类名"
    codebase="Java类所在目录"
    <%-- 以下为可选属性 --%>
    {
        align="对齐方式"
        height="高度"
        width="宽度"
        hspace="水平间距"
        vspace="垂直间距"
        archive="预先加载的类列表"
        jreversion="JRE版本"
        iepluginurl="URL"
        nspluginurl="URL"
    }
>

属性说明:

案例: 

总结:

        JSP操作指令,其功能包含HTML页面使用JAVABEAN(usebean),实现页面跳转(forward),实现参数传递(param),实现文件包含(include),实现插入JavaApplet(plugin)等操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/586139.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【记录】Python3| 将 PDF 转换成 HTML/XML(✅⭐⭐⭐⭐pdf2htmlEX)

本文将会被汇总至 【记录】Python3&#xff5c;2024年 PDF 转 XML 或 HTML 的第三方库的使用方式、测评过程以及对比结果&#xff08;汇总&#xff09;&#xff0c;更多其他工具请访问该文章查看。 文章目录 pdf2htmlEX 使用体验与评估1 安装指南2 测试代码3 测试结果3.1 转 HT…

jenkins转载文本

基于Docker容器DevOps应用方案 企业业务代码发布系统 一、企业业务代码发布方式 1.1 传统方式 以物理机或虚拟机为颗粒度部署部署环境比较复杂&#xff0c;需要有先进的自动化运维手段出现问题后重新部署成本大&#xff0c;一般采用集群方式部署部署后以静态方式展现 1.2 容…

ubuntu部署sonar与windows下使用sonar-scanner

ubuntu部署sonar与windows下使用sonar-scanner sonar部署java安装mysql安装配置sonarqube 插件安装sonar-scanner使用简单使用 sonar部署 使用的是sonarqube-7.5&#xff0c;支持的java环境是jdk8&#xff0c;且MySQL版本 >5.6 && <8.0 java安装 打开终端&…

为什么3D模型材质是透明的?---模大狮模型网

在进行3D建模和渲染过程中&#xff0c;正确的材质设置是保证模型外观逼真和渲染效果良好的关键之一。然而&#xff0c;有时您可能会遇到3D模型材质变成透明的情况&#xff0c;这可能会导致意想不到的效果和渲染结果。本文将探讨一些可能导致3D模型材质变成透明的原因&#xff0…

Go中为什么不建议用锁?

Go语言中是不建议用锁&#xff0c;而是用通道Channel来代替(不要通过共享内存来通信&#xff0c;而通过通信来共享内存)&#xff0c;当然锁也是可以用&#xff0c;锁是防止同一时刻多个goroutine操作同一个资源&#xff1b; GO语言中&#xff0c;要传递某个数据给另一个gorout…

亚马逊关键字搜索商品列表API接口:探索海量商品的利器

亚马逊关键字搜索商品列表API接口允许开发者通过输入关键字或特定参数&#xff0c;在亚马逊平台上进行商品搜索&#xff0c;并返回符合搜索条件的商品列表信息。这些信息包括商品的标题、图片、价格、评价等&#xff0c;为商家、开发者以及市场分析师提供了丰富的商品数据支持。…

Aker(安碁科技)晶振产品应用和选型

一、石英晶体振荡器简介 在电子电路系统中&#xff0c;特定的动作需要严格按照一定的顺序进行&#xff0c;以确保数据被正确处理和操作&#xff0c;时钟信号就成了系统工作的重要引导者。而且在多模块复杂电路系统中&#xff0c;为了确保不同功能模块能协调一致地工作&#xf…

C#调用skiasharp操作并绘制图片

之前学习ViewFaceCore时采用Panel控件和GDI将图片及识别出的人脸方框和关键点绘制出来&#xff0c;本文将其修改为基于SKControl和SKCanvas实现相同的显示效果并支持保存为本地图片。   新建Winform项目&#xff0c;在Nuget包管理器中搜索并安装一下SkiaSharp和ViewFaceCore…

三维SDMTSP:GWO灰狼优化算法求解三维单仓库多旅行商问题,可以更改数据集和起点(MATLAB代码)

一、单仓库多旅行商问题 多旅行商问题&#xff08;Multiple Traveling Salesman Problem, MTSP&#xff09;是著名的旅行商问题&#xff08;Traveling Salesman Problem, TSP&#xff09;的延伸&#xff0c;多旅行商问题定义为&#xff1a;给定一个&#x1d45b;座城市的城市集…

springboot 集成 flowable

随着企业对于业务流程管理需求的增加&#xff0c;流程引擎在企业信息化建设中的作用越来越重要。Flowable是一个开源的轻量级业务流程管理&#xff08;BPM&#xff09;和工作流引擎&#xff0c;它支持BPMN 2.0标准。 Flowable的一些特点&#xff1a; 安装集成&#xff1a;Flow…

hdfs安全模式

hdfs安全模式 1.安全模式 查看hdfs是否在安全模式&#xff1a;不能上传数据 删除 修改 但是能查看 ------------------------ $>hdfs dfsadmin -safemode enter //进入 $>hdfs dfsadmin -safemode get //查看 $>hdfs dfsadmin -saf…

巧用 TiCDC Syncpiont 构建银行实时交易和准实时计算一体化架构

本文阐述了某商业银行如何利用 TiCDC Syncpoint 功能&#xff0c;在 TiDB 平台上构建一个既能处理实时交易又能进行准实时计算的一体化架构&#xff0c;用以优化其零售资格业务系统的实践。通过迁移到 TiDB 并巧妙应用 Syncpoint&#xff0c;该银行成功解决了原有多个 MySQL 集…

解决TIVA飞控玄学类问题的通解,用魔法打败魔法

问题&#xff1a;我遭遇了玄学问题&#xff0c;出现飞机在起降过程中&#xff0c;位置晃动&#xff0c;突然出现的&#xff0c;昨天还好好的&#xff0c;位置地点都没换&#xff0c;今天中午测试了5、6次每次都这样&#xff0c;现在茫然无措&#xff0c;小哥救我&#xff1f; 这…

数据库管理-第179期 分库分表vs分布式(20240430

数据库管理179期 2024-04-30 数据库管理-第179期 分库分表vs分布式&#xff08;20240430&#xff09;1 分库分表1.1 分库1.2 分表1.3 组合1.4 问题 2 分布式3 常见分布式数据库4 期望总结 数据库管理-第179期 分库分表vs分布式&#xff08;20240430&#xff09; 作者&#xff1…

vue路由(路由基本使用,传参,多级路由)

目录 vue-router简介路由配置和使用嵌套&#xff08;多级&#xff09;路由路由传参方式1&#xff1a;路由的query参数方式2&#xff1a;路由的params参数props配置 命名路由取消路由组件在前进后退 vue-router简介 vue的一个插件库&#xff0c;专门用来实现SPA应用 路由配置…

k8s环境prometheus operator监控集群外资源

文章目录 k8s环境添加其他节点基于prometheus operator k8s环境prometheus operator添加node-exporter方式一&#xff1a;通过 ServiceMonitor 方式可以写多个监控node节点运行 external-node.yaml查看资源有没有被创建热更新 外部需要被监控服务器安装 node-exporterdocker 方…

git如何将多个commit合并成一个?

我们使用git进行版本控制&#xff0c;在本地开发完某个功能时&#xff0c;需要提交commit&#xff0c;然后push至开发分支。简单的功能还好&#xff0c;几个commit可能就好了。但是如果功能比较复杂&#xff0c;commit多达十几甚至几十个时&#xff0c;commit管理就会很冗长。比…

使用Pandas和Matplotlib实现数据探索性可视化

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 使用 Pandas 和 Matplotlib 实现数据探索性可视化 在数据分析和机器学习领域&#xff0c;数…

Apache POI 在java中处理excel

介绍: Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目。简单来说就是&#xff0c;我们可以使用 POI 在 Java 程序中对Miscrosoft Office各种文件进行读写操作。 一般情况下&#xff0c;POI 都是用于操作 Excel 文件。 如何使用: 1.maven坐标引入 <depend…

实验八智能手机互联网程序设计(微信程序方向)实验报告

请在上一次实验的基础之上完成“手机快速注册”页面、“企业用户注册”页面&#xff0c;并实现点击手机快速注册和企业用户注册后转跳至该页面在“手机快速注册”页面&#xff0c;输入框内输入内容并失去焦点后&#xff0c;下方的按钮会变化 在企业用户注册页面&#xff0c;用户…