包含问题|学习笔记

简介: 快速学习 包含问题

开发者学堂课程【Java 面试疑难点串讲 4:Java Web 开发包含问题】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/27/detail/592


包含问题


内容介绍:


1. 包含与跳转

2. 由 message.jsp 页面包含 show.jsp 页面,而后向 show.jsp 页面进行参数的传递

 

包含与跳转

对于包含与跳转两个操作,严格来讲都是可以向被包含(或被跳转)页面进行参数的传递,但是利用此类方式传递的参数,都一定要使“request.getParameter(String param)”方法才可以正常接收参数。


由 message.jsp 页面包含 show.jsp 页面,而后向 show.jsp 页面进行参数的传递

<%@ page pageEncoding="UTF-8"%>

<jsp:include page="/show.jsp">

<jsp:param name="msg"value="mldn">

<jsp:param name="info"value="good"/>

</jsp:include>

<%@ page pageEncoding="UTF-8"%>

<h1>接收参数:<%=request.getParameter("msg")%></h1>

<h1>接收参数:${param.info}</h1>

正常的执行应该是

message.jsp:http://localhost:8888/mldn/message.jsp.

而如果此时直接使用 show.jsp 页面,那么对于接收的参数内容将变为 null ,原因是没有传递

如果在 show.jsp 页面里面有了一个明确的要求:msg 的内容绝对不可能为空,因为还需要其进行数据处理

<%@ page pageEncoding="UTF-8"%>

<%

String msg Value = request. getParameter ("msg");

%>

<h1>接收参数:<%=msgValue.toUpperCase()%></h1>

<h1>接收参数:${param.info}</h1>

如果此时在使用 message.jsp 页面时并没有传递 msg 的参数,在这样的情况下,如果想要保证程序正确使用,我们可以增加一个判断代码:

<%@ page pageEncoding="UTF-8"%>

<%

String msg Value = request.getParameter("msg");

if (msg Value==null ||"".equals(msg Value)){

msg Value="unknow";

}

<h1>接收参数:<%=msgValue.toUpperCase()%></hl>

<h1>接收参数:${param.info}</h1>

 

但是从另外一个角度,对于分页而言,很多参数的传递需要考虑一些代码调用的简洁模式,所以需要 request 传递属性,对于四种属性范围也是可以在参数传递中使用的

<%@page pageEncoding="UTF-8"%>

request.setAttribute("msg","MLDN");

pageContext.setAttribute("info","GOOD");

%>

<jsp:include page="/show.jsp">

<%@page pageEncoding="UTF-8"%>

<h1>接收参数:<%=request.getAttribute("msg")%></h1>.

<h1>接收参数:<%=pageContext.getAttribute("info")%></h1>

在被包含页面可以使用  request、session、application 传递参数

相关文章
|
算法 C++
Dijkstra算法及其C++实现
如果从图中某一顶点(称为源点)到达另一顶点(称为终点)的路径可能不止一条,如何找到一条路径使得沿此路径上各边上的权值总和达到最小。
215 0
|
云安全 安全 小程序
无影-阿里云第一款云电脑,它拥有超越PC的完美体验
无影是一款面向数字经济时代的生产力工具,基于流式传输服务和容器化架构,可实现随时随地云上办公、海量算力触手可得、海量应用一网打尽,依托阿里云打造云管端一体化安全防护体系,全面保障企业业务和数据安全,拥有超越PC的便捷、流畅、安全、高效体验。
27330 0
无影-阿里云第一款云电脑,它拥有超越PC的完美体验
|
7月前
|
运维 监控 算法
监控局域网其他电脑:Go 语言迪杰斯特拉算法的高效应用
在信息化时代,监控局域网成为网络管理与安全防护的关键需求。本文探讨了迪杰斯特拉(Dijkstra)算法在监控局域网中的应用,通过计算最短路径优化数据传输和故障检测。文中提供了使用Go语言实现的代码例程,展示了如何高效地进行网络监控,确保局域网的稳定运行和数据安全。迪杰斯特拉算法能减少传输延迟和带宽消耗,及时发现并处理网络故障,适用于复杂网络环境下的管理和维护。
|
12月前
|
UED 开发者
Flutter|常用数据通信组件
Flutter|常用数据通信组件
177 49
|
SQL 缓存 关系型数据库
SqlAlchemy 2.0 中文文档(四十一)(3)
SqlAlchemy 2.0 中文文档(四十一)
147 4
|
Kubernetes Go 数据库
go-zero 分布式事务最佳实践
go-zero 分布式事务最佳实践
|
Rust 安全 Java
Rust中的并发模型与数据竞争
本文将深入探讨Rust中的并发模型,包括其如何避免数据竞争,并对比其他编程语言中的并发策略。我们将详细讨论Rust的所有权系统、借用检查器以及线程间的同步机制,展示Rust如何在提供高性能并发的同时,保证数据的安全性和一致性。
|
自然语言处理 算法 Linux
全新Gensim4.0代码实战(01)-安装与快速上手
全新Gensim4.0代码实战(01)-安装与快速上手
469 0
全新Gensim4.0代码实战(01)-安装与快速上手
|
机器学习/深度学习 人工智能 监控
【AI 现况分析】AI 算法偏见和歧视分析
【1月更文挑战第27天】【AI 现况分析】AI 算法偏见和歧视分析
|
运维 监控 算法
如何提高光伏发电效能异常检出效率的实践案例
国家能源安全,及双碳战略大背景下,光伏产业发展迅猛,累计装机容量增长迅速。随着装机规模的逐步增大,同时伴随着国家上网电价的政策补贴消退,行业逐步走向精细化运营,来保障企业利润。而运营成本主要是设备的折旧和运维成本,其中运维成本构成比例中,人员成本约占比约50%,测试设备占比约15%。 在一个光伏电站大概25年的生命周期中,运维成本是随着使用年限而增长的。是否可以解决好运维效率,关系到企业效益。