当前位置: 首页 > wzjs >正文

怎么学网站开发加盟教育培训哪个好

怎么学网站开发,加盟教育培训哪个好,网站开发商品管理,微信开发什么时候好Jsp技术入门指南【七】JSP动作讲解 前言一、什么是JSP动作&#xff1f;二、核心JSP动作详解1. jsp:include&#xff1a;动态包含其他页面与<% include %>的区别 2. jsp:forward&#xff1a;请求转发到另一个页面3. jsp:param&#xff1a;为动作传递参数4. jsp:useBean&am…

Jsp技术入门指南【七】JSP动作讲解

  • 前言
  • 一、什么是JSP动作?
  • 二、核心JSP动作详解
    • 1. jsp:include:动态包含其他页面
      • 与<%@ include %>的区别
    • 2. jsp:forward:请求转发到另一个页面
    • 3. jsp:param:为动作传递参数
    • 4. jsp:useBean:创建或获取JavaBean对象
    • 5. jsp:setProperty:设置JavaBean属性值
    • 6. 作用域:四个核心对象的范围


  • 在之前的博客中,我们已经深入剖析了JSP页面的核心结构,从基础语法到动态交互的实现,逐步揭示了动态网页开发的底层逻辑
  • 通过这些内容的学习,相信我们已经对JSP的开发有了更清晰的认识,并且掌握了高效开发动态Web应用的关键技能。
  • 接下来,我们将继续深入JSP的世界,探索JSP动作的奥秘
  • JSP动作是JSP技术中用于实现页面动态交互、组件调用等功能的重要工具。通过掌握这些动作,我们将能够更加灵活地构建复杂的动态页面,提升开发效率和应用性能

前言

我的个人主页,欢迎来阅读我的其他文章
https://blog.csdn.net/2402_83322742?spm=1011.2415.3001.5343
我的JSP知识文章专栏
欢迎来阅读指出不足
https://blog.csdn.net/2402_83322742/category_12950980.html?spm=1001.2014.3001.5482


一、什么是JSP动作?

JSP动作是JSP提供的一组XML风格的标签(以<jsp:开头),用于实现页面动态交互、组件调用等功能。常见动作包括页面包含、跳转、传参、操作JavaBean等。

二、核心JSP动作详解

1. jsp:include:动态包含其他页面

作用
将另一个JSP/HTML文件的内容“动态插入”到当前页面,执行时合并内容。
特点:两个页面独立执行,共享请求(request),但各自有独立的作用域。

语法

<jsp:include page="被包含的页面路径" /> <!-- 简单用法 -->
<!-- 带参数时(参数会传递给被包含页面) -->
<jsp:include page="demo2.jsp"><jsp:param name="参数名" value="参数值" />
</jsp:include>

代码示例

  • demo1.jsp(主页面)
    <!DOCTYPE html>
    <html>
    <head><title>主页面</title>
    </head>
    <body><h1>这是主页面demo1.jsp</h1><!-- 动态包含demo2.jsp,会先执行demo2.jsp的逻辑,再合并内容 --><jsp:include page="demo2.jsp" /> 
    </body>
    </html>
    
  • demo2.jsp(被包含页面)
    <p>这是被包含的demo2.jsp内容</p>
    

与<%@ include %>的区别

特性<jsp:include>(动态包含)<%@ include %>(静态包含)
执行时机运行时合并内容(先执行被包含页)编译时合并代码(直接拼接文件)
独立性两个页面独立,可传递参数合并后为一个文件,无法单独传参
使用场景内容动态变化(如用户登录状态)内容固定(如页面底部版权信息)

2. jsp:forward:请求转发到另一个页面

作用
将当前请求“转发”到另一个页面,用户浏览器地址栏不变(服务器端跳转),且可传递参数。
特点:两个页面共享同一个请求(request),可通过request.setAttribute()共享数据。

语法

<jsp:forward page="目标页面路径"><jsp:param name="参数名" value="参数值" /> <!-- 可选:传递参数 -->
</jsp:forward>

代码示例

  • demo1.jsp(转发页面)
    <!DOCTYPE html>
    <html>
    <body><%// 转发前可在request中存储数据(供目标页面使用)request.setAttribute("message", "来自demo1的消息"); %><!-- 转发到demo2.jsp,并传递参数age=18 --><jsp:forward page="demo2.jsp"><jsp:param name="age" value="18" /></jsp:forward>
    </body>
    </html>
    
  • demo2.jsp(目标页面)
    <!DOCTYPE html>
    <html>
    <body><!-- 获取转发时传递的参数 -->年龄:<%= request.getParameter("age") %> <br><!-- 获取request中存储的数据 -->消息:<%= request.getAttribute("message") %>
    </body>
    </html>
    

注意

  • 转发后,当前页面后续代码不再执行(类似Java的return)。
  • response.sendRedirect()的区别:
    • forward是服务器端跳转(地址栏不变,共享request);
    • redirect是客户端跳转(地址栏改变,需重新发起请求)。

3. jsp:param:为动作传递参数

作用
单独作为标签使用,必须嵌套在<jsp:include><jsp:forward>中,用于传递参数。

语法

<jsp:param name="参数名" value="参数值" /> <!-- 值可以是静态字符串或表达式 -->

示例

<jsp:include page="search.jsp"><jsp:param name="keyword" value="Java" /> <!-- 传递搜索关键词 -->
</jsp:include>

4. jsp:useBean:创建或获取JavaBean对象

作用
用于实例化JavaBean(Java类对象),并指定其作用域(页面、请求、会话、应用)。
JavaBean要求:类必须有无参构造方法,属性通过setter/getter方法访问。

语法

<jsp:useBean id="对象名" class="类全路径" scope="作用域" />
  • id:对象在作用域中的唯一标识(如user)。
  • scope:作用域(page/request/session/application,默认page)。

代码示例
假设存在Java类com.User(有nameage属性,及对应setter/getter):

<!-- 创建User对象,作用域为request -->
<jsp:useBean id="user" class="com.User" scope="request" />

5. jsp:setProperty:设置JavaBean属性值

作用
配合<jsp:useBean>使用,为JavaBean的属性赋值。

语法

<!-- 方式1:通过参数名匹配属性名(自动赋值) -->
<jsp:setProperty name="对象名" property="属性名" /> <!-- 方式2:指定具体值(静态值或表达式) -->
<jsp:setProperty name="对象名" property="属性名" value="值" /> 

示例

<jsp:useBean id="user" class="com.User" />
<!-- 从请求参数中获取名为“name”的值,赋值给user的name属性 -->
<jsp:setProperty name="user" property="name" /> 
<!-- 直接设置age属性为20 -->
<jsp:setProperty name="user" property="age" value="20" /> 

6. 作用域:四个核心对象的范围

JSP中属性可存储在4个作用域对象中,范围从小到大依次为:
pageContext(当前页面) < request(一次请求) < session(一次会话) < application(整个应用)。

代码示例

  • 设置属性(假设在demo1.jsp)

    <%// pageContext作用域:仅当前页面有效pageContext.setAttribute("pageKey", "pageValue"); // request作用域:一次请求内有效(转发时共享)request.setAttribute("requestKey", "requestValue"); // session作用域:用户登录后直到会话结束(关闭浏览器或超时)session.setAttribute("sessionKey", "sessionValue"); // application作用域:整个应用运行期间有效(所有用户共享)application.setAttribute("applicationKey", "applicationValue"); 
    %>
    
  • 获取属性(在demo2.jsp,通过请求转发到达)

    <body><!-- 按作用域从小到大获取 -->pageContext属性:<%= pageContext.getAttribute("pageKey") %> <br>request属性:<%= request.getAttribute("requestKey") %> <br>session属性:<%= session.getAttribute("sessionKey") %> <br>application属性:<%= application.getAttribute("applicationKey") %> <br>
    </body>
    
  • 注意

  • pageContext只能在当前页面使用,转发后失效。

  • request属性在请求转发(forward)时有效,但若使用重定向(redirect)则失效(因为重定向是新请求)。


以上就是这篇博客的全部内容,下一篇我们将继续探索JSP的更多精彩内容。

我的个人主页,欢迎来阅读我的其他文章
https://blog.csdn.net/2402_83322742?spm=1011.2415.3001.5343
我的JSP知识文章专栏
欢迎来阅读指出不足
https://blog.csdn.net/2402_83322742/category_12950980.html?spm=1001.2014.3001.5482

非常感谢您的阅读,喜欢的话记得三连哦

在这里插入图片描述

http://www.dtcms.com/wzjs/447199.html

相关文章:

  • 业务代刷平台网站怎么做软文怎么写吸引人
  • 济南室内设计公司排名北京seo
  • 河北省建设网站锁安装什么驱动html网页制作软件
  • vue大型网站怎么做路由口碑营销的案例有哪些
  • 天津塘沽网站建设北京seo编辑
  • 个人电脑搭建成网站服务器百度怎么推广网站
  • 空壳网站seo交流网
  • 为何公司做的网站很丑免费网络推广网址
  • 专业商城网站设计制作网址查询服务中心
  • 怎么把自己做的网站让别人收到怎么推广一个app
  • 工业设计网站象网络热词2022
  • 网站建设 聊城12月10日新闻
  • 温州网站建设优化网站注册信息查询
  • 南宁seo域名搜索引擎网站优化和推广方案
  • 昆明做网站建设的公司排名中国职业培训在线平台
  • 网站备案通过后怎么办长沙网站seo优化公司
  • 工商局网站查询入口西安网站搭建公司
  • 网站建设毕业设计提问有利于seo优化的是
  • 怎么做网站倒计时免费b站推广网站短视频
  • 企业邮箱注册账号优化网站标题名词解释
  • 影响网站权重的因素扬州seo
  • 优质的网站建设病毒式营销方法
  • 做企业网站有什么用河北关键词排名推广
  • 未来做哪个网站能致富排名优化关键词
  • 免费网站建设自助建站网站设计平台
  • 网站首页模板网站测速工具
  • 网站界面是什么做的事件营销的案例有哪些
  • 长春网站建设费用营销模式有哪些 新型
  • wordpress 文章目录导航seo包年优化平台
  • 项目网站建设方案模板热门推广软件