JavaWeb——Struts2的Action
其他
2020-02-08 18:27:15
阅读次数: 0
JavaWeb——Struts2
二、Action 对象
- Action 是一个接口对象,位于 com.opensymphony.xwork2 包中,是 Struts2 中的重要对象,任何 Struts2 的 Action 对象都要直接或间接实现此对象。
1、Action 的静态变量
- Action 对象中有 5 个静态成员变量,代表各种业务处理的结果,如下表:
静态变量 |
含义 |
SUCCESS |
表示 Action 执行成功的返回值,并返回到成功页面 |
NONE |
代表 Action 执行成功的返回值,但不需要返回到成功页面 |
ERROR |
代表 Action 执行失败的返回值 |
INPUT |
代表需要返回到某个输入信息的页面的返回值 |
LOGIN |
代表需要用户登录的返回值 |
2、参数注入原理
3、Action 基本流程
- Action 的基本流程可以描述如下:
- 首先客户端浏览器向服务器发出请求,服务器将请求转送到相应的 Web 容器。Web 容器又将请求传送到 Struts2 过滤器进行请求筛选和过滤,对符合权限的请求 Struts2 过滤器将请求发送给相应的 Action,Action 执行业务逻辑,当 Action 执行成功则根据设置进行是否要转到成功页面;对不符合权限的请求直接拦截。
4、Action 示例
- 示例代码如下:
- 首先新建一个 Java 类,命名为 StudentAction。其代码如下:
package com.myCode.actionCode;
import com.opensymphony.xwork2.ActionSupport;
public class StudentAction extends ActionSupport{
private static final long serialVersionUID = 1L;
private String student;
public void setStudent(String student) {
this.student = student;
}
public String getStudent() {
return student;
}
public String add() throws Exception{
student="添加学生信息";
return "add";
}
public String update() throws Exception{
student="更新学生信息";
return "update";
}
}
- 新建两个 JSP,分别命名为 stu_add.jsp 和 stu_update.jsp,代码如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>添加学生信息</title>
</head>
<body>
<center>
<h1>
<s:property value="student"/>
</h1>
</center>
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>更新学生信息</title>
</head>
<body>
<center>
<h1>
<s:property value="student"/>
</h1>
</center>
</body>
</html>
- 在 web.xml 添加如下代码:
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
- 在 src 目录下新建一个 struts.xml,代码如下:
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="myPackage" extends="struts-default">
<action name="first">
<result>/StrutsJSP/first.jsp</result>
</action>
<action name="studentAction" class="com.myCode.actionCode.StudentAction">
<result name="add">/StrutsJSP/stu_add.jsp</result>
<result name="update">/StrutsJSP/stu_update.jsp</result>
</action>
</package>
</struts>
- 在 index.jsp 页面添加如下语句:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>页面1</title>
<style type="text/css">
body{
background: #9ce9dd;
text-align: center;
align-items: center;
}
</style>
</head>
<body>
文字
<br>
<a href="first.action">请求Struts2</a>
<br>
<a href="studentAction!add">添加学生信息</a>
<a href="studentAction!update">更新学生信息</a>
</body>
</html>
- 效果如下:
- 示例所需要的依赖库,可以去我的 GitHub 上下载:
StrutsProject
上一篇
下一篇
发布了146 篇原创文章 ·
获赞 15 ·
访问量 1万+
转载自blog.csdn.net/qq_42896653/article/details/103616885