【Java Web】JSP动作标签

JSP 动作标签是一组预定义的 XML 标签,它们提供了一种将特定功能插入到 JSP 页面中的方式,而不需要直接编写 Java 代码。这些标签简化了常见的任务,如包括其他文件、重用组件、转发请求和处理 Bean 等。

包含方式

动态包含

<jsp:include> 动作标签用于在当前页面中包含另一个资源(通常是另一个JSP页面或HTML文件)。被包含的资源会在请求时被处理,并将其输出结果插入到包含它的页面中。

适合用于包含那些可能依赖于请求参数或会话状态的内容,比如用户信息显示、动态生成的数据表格等。

<jsp:include page="relativeURL" flush="true|false" />
  • page 属性:指定要包含的页面的相对路径。
  • flush 属性(可选):如果设置为 true,则会刷新输出缓冲区。默认值是 false

静态包含

适合用于包含那些不会改变的内容,比如导航条、页脚等。

<%@ include file="relativeURL" %>
  • file 属性:指定要包含的文件的相对路径。

页面跳转

  • 转发:request.getRequestDispatcher().forward()
  • 重定向:response.sendRedirect()

<jsp:forward> 动作标签用于将请求转发到另一个资源。这通常用于控制导航流,例如根据用户的输入或会话状态来决定下一步显示哪个页面。

<jsp:forward page="nextPage.jsp" />

<jsp:param> 动作标签用于传递参数给 <jsp:include><jsp:forward> 标签。它必须作为 <jsp:include><jsp:forward> 的子元素使用。

<jsp:forward page="nextPage.jsp">
    <jsp:param name="paramName" value="paramValue" />
</jsp:forward>

装载JavaBean

<jsp:useBean> 动作标签用于查找或实例化一个JavaBean。如果指定的bean不存在,则会创建一个新的实例。

<jsp:useBean id="user" class="com.example.User" scope="session" />

<jsp:setProperty> 动作标签用于设置JavaBean的属性值。它可以自动从请求参数中获取值并设置到对应的属性上。

<jsp:getProperty> 动作标签用于获取JavaBean的属性值,并将其转换为字符串后输出。

<jsp:useBean id="user" class="com.example.User" scope="session" />
<jsp:setProperty name="user" property="name" value="John Doe" />
<!-- 或者从请求参数中设置 -->
<jsp:setProperty name="user" property="*" />
User Name: <jsp:getProperty name="user" property="name" />

使用动作标签实现一个简单的用户信息管理页面

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <title>User Information</title>
    </head>
    <body>
        <h1>User Information</h1>

        <!-- 包含头部内容 -->
        <jsp:include page="header.jsp" />

        <jsp:useBean id="user" class="com.example.User" scope="session" />

        <!-- 设置用户属性 -->
        <jsp:setProperty name="user" property="name" value="John Doe" />
        <jsp:setProperty name="user" property="email" value="john.doe@example.com" />

        <!-- 显示用户信息 -->
        <p>Name: <jsp:getProperty name="user" property="name" /></p>
        <p>Email: <jsp:getProperty name="user" property="email" /></p>

        <!-- 转发到下一个页面 -->
        <jsp:forward page="nextPage.jsp">
            <jsp:param name="paramName" value="paramValue" />
        </jsp:forward>
    </body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值