JSP 动作标签

JSP 动作标签(JSP Action Tags)是基于 XML 语法的内置标签,用于在 JSP 页面中执行特定的动态操作(如跳转页面、包含文件、操作 JavaBean、传递参数等),替代部分 Java 脚本代码,让 JSP 更简洁、易维护。

动作标签由 JSP 容器直接解析执行,无需编译为 Java 代码(区别于脚本元素),核心特点是 “声明式编程”—— 无需写 Java 逻辑,仅通过标签配置完成操作。

语法格式:

1
2
3
4
5
<jsp:动作标签名 属性1="值1" 属性2="值2" ... />
<!-- 或带体的形式 -->
<jsp:动作标签名>
子标签/内容
</jsp:动作标签名>

常用核心动作标签:

动作标签 核心作用
<jsp:include> 动态包含另一个资源(JSP/HTML/Servlet),在运行时加载并执行被包含资源,与当前页面生成两个 Servlet
<jsp:forward> 将请求转发到另一个资源(JSP/Servlet),客户端地址栏无变化,请求数据可共享
<jsp:useBean> 创建 / 查找 JavaBean 实例,封装业务数据(MVC 模式中常用作模型)
<jsp:setProperty> 为 JavaBean 实例设置属性值(可绑定请求参数)
<jsp:getProperty> 获取 JavaBean 实例的属性值并输出到客户端
<jsp:param> 配合include/forward传递参数(如<jsp:param name="id" value="123"/>
<jsp:plugin> 嵌入 Applet 或 JavaBean 组件到页面(已基本淘汰)

示例 1:动态包含 + 传参

1
2
3
4
<%-- 动态包含footer.jsp,并传递参数version --%>
<jsp:include page="footer.jsp">
<jsp:param name="version" value="2.0"/>
</jsp:include>

示例 2:请求转发

1
2
3
4
<%-- 将请求转发到user.jsp,并传递id参数 --%>
<jsp:forward page="user.jsp">
<jsp:param name="id" value="456"/>
</jsp:forward>

示例 3:操作 JavaBean

1
2
3
4
5
6
7
8
<%-- 创建User对象(若不存在),作用域为page --%>
<jsp:useBean id="user" class="com.example.User" scope="page"/>

<%-- 设置属性(绑定请求参数name)--%>
<jsp:setProperty name="user" property="name" param="name"/>

<%-- 获取并输出属性 --%>
用户名:<jsp:getProperty name="user" property="name"/>

核心优势:

  • 基于 XML 语法,更符合前端开发者习惯,无需写 Java 代码;
  • 与 JSP 指令相比,动作标签在运行时执行(指令在编译时执行),灵活性更高;
  • 减少脚本元素的使用,降低 JSP 页面的维护成本。