struts2基本使用及常见问题
# 基本使用
# 动态Action
struts.xml
<struts>
<!-- 重要:开启动态调用 -->
<constant name="struts.enable.DynamicMethodInvocation" value="true"/>
<package name="myPackage" extends="struts-default" namespace="/">
<action name="userAction" class="com.example.action.UserAction">
<result name="add">user_add.jsp</result>
<result name="update">user_update.jsp</result>
<!-- 指定能动态调用的方法 -->
<allowed-methods>add,update</allowed-methods>
</action>
</package>
</struts>
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
com.example.action.UserAction.java
package com.example.action;
import com.opensymphony.xwork2.ActionSupport;
public class UserAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private String info;
// 添加用户信息
public String add() throws Exception{
info = "添加用户信息";
return "add";
}
// 更新用户信息
public String update() throws Exception{
info = "更新用户信息";
return "update";
}
public String getInfo(){ return info; }
public void setInfo(String info){ this.info = info; }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
index.js
<a href="userAction!add">添加用户</a>
<hr>
<a href="userAction!update">更新用户</a>
<hr>
<a href="userAction!add.action">添加用户</a>
<hr>
<a href="userAction!update.action">更新用户</a>
1
2
3
4
5
6
7
2
3
4
5
6
7
user_add.jsp
或user_update.jsp
<%@ taglib prefix="s" uri="/struts-tags" %>
<s:property value="info"/>
1
2
2
# 常见问题
上次更新: 2023/09/22, 16:54:32