栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何通过c:set将参数传递给jsp:include?JSP中变量​​的作用域是什么?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何通过c:set将参数传递给jsp:include?JSP中变量​​的作用域是什么?

这是因为

pgTitle
变量是在页面范围内设置的。在此处检查(很抱歉,我无法为此获得正式文档)。

如果要进行此工作,则必须至少在请求范围内设置变量。要在请求范围内设置变量,请在

scope
上使用属性
<c:set>

<c:set var="pgTitle" value="Welcome" scope="request" />

根据您的评论,在Web开发中,变量的范围很重要,因为它定义了变量的使用位置(类似于在类中声明为字段的变量和在方法中局部声明的变量)。JSP中有四个范围称为上下文:

  • 页面范围(由PageContext处理)。仅当在当前页面中将其设置为属性时,才能访问变量。这意味着,只有当前页面可以访问这些属性,包含的页面是不同的页面,因此它们不能访问这些属性。
  • 请求范围(由ServletRequest处理)。仅当在当前请求中将其设置为属性时,才能访问变量。这意味着,在同一请求中处理的每个页面都可以访问这些属性。 重要说明 :重定向表示新的请求/响应过程。这意味着,如果您在请求上设置属性并执行重定向,则这些属性将不会被设置为新请求上的属性。
  • 会话范围(由HttpSession处理)。仅当在当前用户会话中将其设置为属性时,才能访问变量。这意味着,在同一用户会话中使用的每个页面都可以使用这些属性,直到它们被删除或会话过期为止。
  • 应用程序范围(由ServletContext处理)。仅当在当前上下文中设置为属性时,才能访问变量。这意味着,每个会话属性上的每个页面都可以访问这些变量,直到将它们从SessionContext中删除或取消部署Web应用程序为止。

更多信息:

  • JSP中有哪些不同的作用域?

这是完成我想做的正确方法吗?

如果有一个Servlet或另一个控制器处理要在请求中设置的属性(例如,

@Controller
从Spring
MVC或JSF托管Bean),则在此处而不是直接在页面中设置属性。

就个人而言,在Web应用程序上使用时,需要一些时间来获得经验并定义变量的最佳范围。基本示例:

  • String
    出于演示目的,用逗号分隔只会影响当前视图,因此可以在页面范围内设置。
  • 错误消息和成功消息最适合请求范围。如果用户更新页面,则除非重新处理数据,否则他/她可能不能看到相同的消息。
  • 可以在会话范围内设置用户信息的名称,昵称和首选项。
  • 如果必须显示国家列表(几天之内不会更改),则可以将此列表存储在应用程序范围内。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/412648.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号