1. 主要檔案 LoginAction.java
package com.edu.struts2.action;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.Result;
import com.opensymphony.xwork2.ActionSupport;
@Namespace("/struts2_annotaction") // 相當于xml裡的namespace配置
public class LoginAction extends ActionSupport {
private String username;
private String password;
private static final long serialVersionUID = 1L;
@Override
@Action(results = { @Result(name = "success", location = "/success.jsp"),
@Result(name = "failure", location = "/failure.jsp") })
public String execute() throws Exception {
if (username.equals(password))
return "success";
else
return "failure";
}
public String getUsername() {
return username;
public void setUsername(String username) {
this.username = username;
public String getPassword() {
return password;
public void setPassword(String password) {
this.password = password;
}
2. 主要檔案2 login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<!-- 通路的路徑的action名字是類名除了Action之外的名字,首字母不大寫。如:類LoginAction通路的action路徑為login.action -->
<form
action="${ pageContext.request.contextPath }/struts2_annotaction/login.action"
method="post">
<input type="text" name="username" />
<br>
<input type="password" name="password" />
<input type="submit" value="送出" />
</form>
</body>
</html>
3. 工程的struts2的jar包使用編譯器自動導入的。主要是這個jar:struts2-convention-plugin-2.3.4.1.jar(struts注解包)
4。 整個流程比起xml配置簡單了很多,思路也更容易了解了。并且之前的struts.xml可以删除了!!!可以不用這個配置檔案也能實作基本的功能了。。