-
IDEA是需要通过网络下载开发包,但是开发包有可能不足,所以依然需要另外下载一个struts2开发包
-
创建项目的时候选择Struts2,idea可以选择下载struts所需的开发包,但可能下载的不完整,所以干脆使用自己下载的struts2开发包即可
- 在WEB-INF/目录下创建一个lib文件夹,将Struts2要是用到的开发包拷贝到这个文件夹之中
- 接着在lib文件夹右键选择 add as library…
- 接着选择项目模版设置
-
修改web.xml文件
-
如果IDEA自动下载的struts2版本为2.2.5,所以过滤器的位置可能不一样,如果找不到过滤器,可以将"ng"的包去掉.
-
url-pattern默认是"\*“可以修改为”.action"会更合适
- 编写一个MessageAction程序,直接使用execute()方法执行.
package mao.shu.action;
import com.opensymphony.xwork2.ActionSupport;
public class MessageAction extends ActionSupport {
@Override
public String execute() throws Exception {
System.out.println("********** execute() *********");
return SUCCESS;
}
}
- 随后进行struts.xml文件的配置
- struts.xml文件配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<package name="root" namespace="/" extends="struts-default">
<global-results>
<result name="success">/hello.jsp</result>
</global-results>
<action name="MessageAction" class="mao.shu.action.MessageAction">
</action>
</package>
</struts>
- 定义hello.jsp
<%--
User: Xiemaoshu
Date: 2019/2/22
Time: 23:18
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<h1>你好</h1>
</body>
</html>
- 测试执行http://localhost:8080/StrutsProjec/MessageAction
- 实现多业务处理
- 要实现多业务处理要开启动态方法设置,低版本的struts2是默认开启的,但是现在需要在struts.xml文件之中进行以下配置
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
- 编写Action程序类
package mao.shu.action;
import com.opensymphony.xwork2.ActionSupport;
public class MessageAction extends ActionSupport {
public void list() throws Exception {
System.out.println("********** list() *********");
}
public void add() throws Exception {
System.out.println("********** add() *********");
}
public void remove() throws Exception {
System.out.println("********** remove() *********");
}
}
- 测试执行:
- 使用Annotation
- 要使用Annotation需要有:struts2-convention-plugin-2.3.37.jar开发包的支持
@Action("/page/back/Message")