深入JSP之JSP标签以及开发模式

黑马就业班(02.JavaWeb+项目实战\09.JSP EL表达式 JSTL)part1——JSP补充、MVC开发模式、EL表达式、JSTL标签 今日内容 1. JSP: 1) 指令 2) 注释 3) 内置对象 2. MVC开发模式 3. EL表达式 4. JSTL标签 5. 三层架构 1、JSP补充 1、指令 * 作用:用于配置JSP页面,导入资源文件 * 格式: <%@ 指令名称 属性名1=属性值1 属性名2=属性值2 ... %> * 分类: 1. page : 配置JSP页面的 * content... 阅读详情

1、JSP标签:用来替换jsp脚本
内置标签
jstl标签
自定义标签

内置标签(以jsp开头的)
1、JSP:forward(用来做页面转发的)

<jsp:forward  page="指定路径">
      <jsp:param    value=""    name ="" ></jsp:param>
</jsp:forward>

在转发的页面可以通过EL表达式获取请求参数${param.name}

2、JSP:include(用来包含文件的)

<jsp:include  page="指定路径"></jsp:include>

JSP:include和<%@include%>的区别:

1.@include指令会将被包含的页面中的内容拷贝到当前页面中,然后合并翻译成一盒.java源文件
Jsp:include各自翻译各自的jsp(被包含页面和包含页面都会生成属于自己的java源文件),运行的时候再把这两个文件合并到一起
2.写法不一样指令中跟的page属性,@include跟的file
3.传递参数不同,jsp:include可以向被包含页面传递参数,@include不可以

3、JSP:useBean

<!-- 内部会帮我们创建一个User对象,并且这个User可以通过id来访问 -->
<jsp:useBean id="stu" class="com.chinasoft.entite.User" />
<!-- 设置stu的name一个gender属性的值 -->
<jsp:setProperty property="name" name="stu" value="xiaoming"/>
<jsp:setProperty property="gender" name="stu" value="male"/>
<!-- 获取stu的name和gender属性的值 -->
<jsp:getProperty property="name" name="stu"/>
<jsp:getProperty property="gender" name="stu"/>

注:User类一定要符合JavaBean规划,一定要有一个无参的构造方法

JSTL标签:
包含:核心标签、JSTL函数
1、核心标签:(C标签)
JSTL标签:—核心标签(c标签) (掌握)
使用核心标签的步骤:

1.需要导入jar包 jstl-1.2.jar standard.jar
2.需要在要使用jstl的页面中添加 <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
3.可以使用核心标签库了

1.1核心标签:c:set c:remove c:out

//向request域中存储一条数据  key是name  值是xiaoming 
<c:set var="name"  value="xiaoming" scope="request"></c:set>
//移除域对象中name的数据
<c:remove var="name"/>
// 向浏览器输出内容   default属性的含义是在value值为null的情况下默认输出的内容
<c:out value="${name}" default="xx"></c:out>

1.2核心标签:条件判断 c:if c:when c:choose c:otherwise

<c:if   test = "${score>60}">  及格</c:if>

<c:choose>
    <c:when  test="${score>90}">优秀</c:when>
    <c:when  test="${score>90}">优秀</c:when>
    <c:when  test="${score>70}">良好</c:when>
    <c:when  test="${score>60}">及格</c:when>
    <c:otherwise >不及格</c:otherwise>
</c:choose>

注:c:choose一般需要和c:when结合起来使用,单独用没有意义

1.3核心标签:c:forEach

<%
List<User> list = new ArrayList();
list.add(new User("小明","男"));
list.add(new User("小红","男"));
list.add(new User("小白","男"));
pageContext.setAttribute("list", list);
%>

<c:forEach var="u"  varStatus="uidx" items="${list }">
   ${uidx.count }-->  ${u.name } --->  ${u.gender }
</c:forEach>

c:forEach标签中的几个参数:

var:表示遍历的集合中的每一个对象

varStatus:表示遍历到的对象的状态信息

1.4核心标签 重定向 (了解)
基本用法:

<c:redirect  url="地址"></c:redirect>

注意点:如果我们使用c:redirect方法来做这个重定向的时候,只能够访问站点内的资源,不能再访问外部资源了。

2、JSTL函数(在EL表达式中使用的 (掌握))

${fn:contains("abc","a")};
${fn:endsWith("abc","c")};
${fn:indexOf("abc","b")};
${fn:length("abc") };
${fn:replace("abc","b","wwwww") }
${fn:split("a-b-c","-") }

<!-- 遍历输出数组 -->
<c:forEach var="str" items="${fn:split('a-b-c','-') }">
${str}
</c:forEach>

${fn:substring("中国人",1,3) }
${fn:toUpperCase("abc") }


<!-- 拼接字符串的方法 -->
<%
   String[] arr = new String[]{"1","2","3"};
   pageContext.setAttribute("arr", arr);
%>
${fn:join(arr,"-") }

自定义标签
自定义标签的步骤:

1.写一个类继承于SimpleTagSupport覆盖里面的doTag方法
2.在web-inf下面写一个.tld文件,里面去声明相关的标签
3.需要把自定义的标签的头引入当前的jsp文件 <%@taglib uri="" prefix=""%>

自定义标签的执行流程:

1.当我们通过浏览器输入网址localhost:8080/3.8Pro/tag04.jsp页面的时候,tomcat服务器会把jsp翻译成java源文件,再变成class字节码
2.tomcat服务器扫描到的时候,会去检查uri对应的tld文件是否存在,如果存在,则继续执行,如果不存在,则报错
3.tomcat服务器扫描到body中指定的标签后,会去uri对应的tld文件中查找是否存在该标签,如果存在,则继续执行,如果不存在,则报错
4.tomcat服务器根据标签名,在tld文件中找到该标签对应的实体类,然后创建该类的对象,执行doTag方法

带属性的标签的开发步骤:
1.需要在tld文件中的tag下面写上

    <attribute>
      <name>id</name>
      <required>false</required>
    </attribute>

2.需要在继承与SimpleTagSupport的类中声明属性名称对应的成员变量,并且实现getter和setter方法
3.在使用的jsp页面中写标签(会自动帮我们带上required字段的属性)

关于标签体内容:
scriptless: 标签体可以是html或者el表达式,不可以是jsp的java代码
empty: 必须是空标签。

2、关于开发模式 (掌握)
jsp 就是servlet 不仅可以写页面,还可以写java代码
servlet 只能够写java代码
Servlet技术: 开发动态资源。是一个java类,最擅长写java代码
jsp技术: 开发动态资源。最擅长输出html代码。

servlet:
1)接收参数
2)处理业务逻辑
3)把结果保存到域对象中
4)跳转到jsp页面
Jsp:
1)从域对象取出数据
2)把数据显示到浏览器

基于情感分析+聚类分析+LDA主题分析对服装产品类的消费者评论分析 本研究旨在通过对服装产品类的消费者评论进行综合分析,为企业提供更全面、更深入的市场洞察和决策支持。同时,本研究的方法和结果也可以为其他领域的消费者评论分析提供借鉴和参考。 阅读详情

相关推荐

Linux系统搭建OpenClaw(原Clawdbot)全流程指南 最新版

工具定位:开源个人 AI 助手,支持文件读取、命令执行、多渠道交互(Telegram / 本地终端等);系统要求:主流 Linux 发行版(Ubuntu/Debian/CentOS 等),Node.js ≥22(核心依赖);安全提示:OpenClaw 为测试版,具备高权限操作能力,建议使用非主力机,配置权限白名单,避免接触敏感数据。

AI时代老码农的第二春 6560

JSP页面,input输入框必填问题

JSP页面,input输入框必填使用required没反应。 之前搜索到的都是H5页面的,说是直接加required=“required”,但是经本人测试,发现没反应,于是改用required=“true”,还是不行,于是看了看自己的输入框,有默认输入的值。 ** 总结: **在JSP页面,想让input为必填项,需要添加required="true"且输入框不能有默认值。 代码: ...

WEISHENGHUAN的博客 1万+

openEuler 22.03 LTS SP4离线安装UKUI桌面全攻略(附依赖包下载)

本文提供openEuler 22.03 LTS SP4系统离线安装UKUI桌面环境的完整实战指南。针对无网络环境,详细解析了利用dnf工具下载依赖包、配置离线软件源、处理依赖冲突及安装后优化的全流程,并附带了关键依赖包资源,帮助运维人员高效完成图形化部署。

c7d8e9的博客 482

JSP详解

JSP详解主要内容简介:1.  JSP简介        a)  什么是JSP        b)  JSP的组成        c)  JSP的特点        d) JSP的执行过程        e) JSP的生命周期2. JSP语法        a) JSP模板元素        b) JSP表达式        c) JSP脚本片段        d) JSP注释3.  JSP指令 ...

弱弱的猿 2856

SAP成本控制范围配置全流程:从货币参数到标准层次(附2024最新SPRO路径)

本文详细拆解了SAP成本控制范围(Controlling Area)的完整配置流程,涵盖从货币与估价参数文件定义、参数文件分配到控制范围,再到成本中心标准层次创建等核心步骤。文章提供了2024年最新的SPRO导航路径和实战配置要点,帮助顾问构建稳健、可扩展的管理会计基础架构,并附有常见问题排查指南。

java5的博客 939

2.设置Salesforce开发环境

Salesforce DX:salesforce Developer Experience (salesforce开发人员体验)LWC:Lightning Web Component(注意首字母是大写的,是一个概念,小写的话有组件本身的含义)CLI:Command Line Interface(命令行界面)version control system (VCS):版本控制系统。

nihaixiao的博客 2198

jsp标签

jsp标签

weixin_65565181的博客 655

【OpenCV】复杂场景下的高精度圆检测实战(附完整代码)

本文针对OpenCV霍夫圆检测在复杂场景下易失效的问题,提出了一套基于轮廓分析的高精度圆检测实战方案。通过图像预处理、轮廓发现及多轮几何筛选(面积、周长、椭圆拟合、多边形逼近),有效排除噪声和类圆干扰物,显著提升复杂场景下的检测鲁棒性,并附完整可调参的Python代码实现。

weixin_29095587的博客 200

JSP2自定义标签(二)——带属性的标签

本文摘自:李刚 著 《轻量级 Java EE企业应用实战 Struts2+Spring+hibernate整合开发》 续JSP2自定义标签(一)             前面的简单标签既没有属性也没有标签体,用法功能都比较简单。实际上还有如下两种标签:带属性的标签和带标

虽然我很菜 3361

VMware ubuntu虚拟机(或Centos7)与主机共享文件夹

系统环境 Windows 10 Vmware Workstation 15 Pro Ubuntu 20.04.1 LTS centos7 1.Ubuntu配置共享文件 1.1安装VMware-tools 更新最新VMware-tools组件 编辑->首选项->更新->立即下载所有组件 安装VMware-tools 虚拟机->安装VMware-tools 安装后ubuntu会加载一个虚拟光驱,解压文件,在解压的文件目录下执行以下命令进行安装 sudo vmware-instal

weixin_38924500的博客 2160

万字长文:YOLOv5+RK3588 NPU多线程加速全攻略——从理论到部署的终极优化

RK3588 NPU多线程加速优化教程摘要 本教程深入讲解了如何利用线程池技术优化RK3588 NPU上的YOLO目标检测模型推理性能。RK3588内置3个NPU核心,理论算力达6TOPS,为多线程优化提供了硬件基础。教程详细解析了线程池的核心组件(任务队列、工作线程、同步机制)和实现架构,包括类设计、初始化流程、工作线程逻辑(任务获取、NPU推理、结果存储三个阶段)以及任务提交/获取机制。通过预分配模型实例、线程绑定、流量控制等优化手段,实现了从单线程28FPS到多线程120FPS的显著性能提升,为边缘A

LXY_LOVE36的博客 1101

jsp中设置必填项

required="false" name="Province" width="320px"class="wsd-combobox" win_seltype="1"  label="工程所在省" entityname="Province" textName = "udf2"/>   required="true" name="City" width="320px"class="wsd-

u012949047的博客 1万+

MATLAB和S7-1200PLC水箱液位高度PID控制联合仿真(KEPserverOPC通信应用)

SMART PLC 向导PID的详细介绍请查看下面文章链接:S7-200 SMART PLC PID向导详细介绍(如何实现P、PD、PID控制器)-优快云博客文章浏览阅读1k次。这篇博客主要介绍SMART PLC PID向导的使用,PID控制相关的其它内容请查看专栏系列文章,常用链接如下:SMART PLC PID负压控制(过程量为负数)_负压控制pid控制程序_RXXW_Dor的博客-优快云博客1、如何实现PID反作用调节?S7-1200PLC和KEPserver OPC通信-优快云博客。

RXXW_Dor的博客 1781

jsp,MVC开发模式,EL表达式,JSTL标签的使用说明

1. JSP: 2. MVC开发模式 3. EL表达式 4. JSTL标签 jsp 指令 * 作用:用于配置JSP页面,导入资源文件 * 格式: <%@ 指令名称 属性名1=属性值1 属性名2=属性值2 … %> * 分类: 1. page : 配置JSP页面的 * contentType:等同于response.setContentType() 1. 设置响应体的mime类型以...

java_fight的博客 680

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

JSP内置标签 JSP中JavaBean标签 JSP开发模式 EL和JSTL快速入门

2 JSP内置标签(美化+业务逻辑) 1)为了取代<%%>脚本形式,使用JSP标签/JSP动作,目的:与JSP页面的美化,即JSP面页都是由标签组成,不再有其它的内容 2)JSP内置标签 a)<jsp:include page/>(动,执行) 和 <%@ include file/>(静,翻译) <jsp:...

weixin_30325971的博客 128

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

jsp基础、el技术、jstl标签、javaEE的开发模式

一、jsp技术基础 1.jsp脚本和注释 jsp脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部 2)<%=java变量或表达式> ----- 会被翻译成service方法内部out.print() 3)<%!java代码%> ---- 会被翻译成servlet的成员的内容 jsp注释: 不同的注...

weixin_30889885的博客 108

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

小白初学JSP_1(JSP指令、JSP注释、MVC开发模式、JavaBean、EL表达式、JSTL标签、三层架构)

文章目录 一、JSP1.1 指令1.2 注释1.3 内置对象 二、MVC开发模式三、EL表达式3.1 概念3.2 作用3.3 语法3.4 使用3.4.1 运算3.4.2 获取值 四、JSTL标签4.1 JSTL概念4.2 常用标签4.2.1 if4.2.2 choose(switch)4.2.3 foreach(for) 五、三层架构5.1 界面层(表示层)5.2 业务逻辑层5.3 数据访问层 一、JSP 1.1 指令 作用:用于配置JSP页面,以及导入资源文件格..

weixin_44051048的博客 669

JSP+MVC开发模式 +EL表达式+ JSTL标签

1. JSP: 1. 指令 2. 注释 3. 内置对象 2. MVC开发模式 3. EL表达式 4. JSTL标签

qq_60281421的博客 191

JavaWeb - jstl标签库(if、forEach),jsp开发模式,java并发编程实战下载

${a } </c:forEach> 3.5 使用jstl的forEach标签获取域对象里面的集合中的值 (1)获取域对象里面list集合里面的值 = 代码 <% //创建list集合 List list = new ArrayList(); list.add(“aaaa”); list.add(“bbbb”); list.add(“cccc”); //把list集合放到域对象里面 request.setAttribute(“list”, list); %> ${list[0]

m0_63176399的博客 186

JSP、MVC开发模式、EL表达式、JSTL标签、三层架构

今日内容 1. JSP: 1. 指令 2. 注释 3. 内置对象 2. MVC开发模式 3. EL表达式 4. JSTL标签 5. 三层架构 JSP: 1. 指令 * 作用:用于配置JSP页面,导入资源文件 * 格式: <%@ 指令名称 属性名1=属性值1 属性名2=属性值2 ... %> * 分类: 1. page : 配置JSP页面的 * conte...

476

用JSP做计算器(一)

运算结果小数点后保留一位,利用BigDecimal类: 修改getResult()方法: public double getResult() { //小数点后保留一位,BigDecimal.ROUND_HALF_UP(向上进一) BigDecimal bd=new BigDecimal(this.result).setScale(1,BigDecimal.ROUND_HALF_UP);

不因俊俏难为友,正为风流始读书 4594

javaEE学习笔记————JSP、MVC开发模式、EL表达式、JSTL标签、三层架构

JSP、MVC开发模式、EL表达式、JSTL标签、三层架构的一波总结

Belief的博客 640

【HM】第11课:JSTL标签+JSP开发模式

<pre>day11昨天内容回顾 (1)jsp *jsp的三个指令 *jsp里面九个内置对象 request response session config...

weixin_34178244的博客 118

java jspl是啥_13 JSP、MVC开发模式、EL表达式和JSPL标签+软件设计架构---学习笔记...

1.JSP(1)JSP概念:Java Server Pages 即java服务器端页面可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码用于简化书写!!!(2)原理JSP本质上就是一个Servlet(3)JSP的脚本:JSP定义Java代码的方式1. :定义的java代码,在service方法中。service方法中可以定义什么,该脚本中就可以定义什么。2. :定义...

weixin_39885383的博客 677

自定标签 ----Java进阶篇

目录 一.引入 二.自定义标签 三.自定义标签的的执行过程 四.自定义标签处理器类的生命周期 五.自定义标签的作用 六.自定义标签案例 七.javaBean 八.web开发模式的简介 一.引入 当jsp内置标签不能满足开发需求时,我们需要自定义标签 内置标签 <jsp:forward/> 转发 <jsp:forward page="/09.ac...

RONG_YAO的博客 502

【JavaWeb】JSP、MVC开发模式、EL表达式、JSTL标签、三层架构

今日内容 1. JSP: 1. 指令 2. 注释 3. 内置对象 2. MVC开发模式 3. EL表达式 4. JSTL标签 5. 三层架构 JSP: 1. 指令 * 作用:用于配置JSP页面,导入资源文件 * 格式: <%@ 指令名称 属性名1=属性值1 属性名2=属性值2 ... %> * 分类: 1. page : 配置JSP页面的 * contentType:等同于response.setContentType() 1. 设置响应体的mime类型以

漆黑梦工厂 330
上一篇: 初识JSP之JSP内置对象,JSP三大指令,EL内置对象
下一篇: Josephu问题
Java_jfei
博客等级 码龄10年 55粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值