MainMenuAction.javaに以下の記述をします。
/*
* ログインサンプル
*/
package pkg.sample;
import org.apache.struts2.config.ParentPackage;
import com.opensymphony.xwork2.ActionSupport;
/*
* メインメニューアクションクラス
*/
@ParentPackage(value="mydefault")
public class MainMenuAction extends ActionSupport {
private static final long serialVersionUID = 1L;
// ログインユーザ
private String userid;
private String passwd;
// ■ログインチェック
public String execute() {
// 「SUCCESS」を返却すると、自動的に「mainMenu-success.jsp」が
// 呼び出される。もし存在しなければ「mainMenu.jsp」が呼び出される。
return SUCCESS;
}
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getPasswd() {
return passwd;
}
public void setPasswd(String passwd) {
this.passwd = passwd;
}
}
(1) 「@ParentPackage」アノテーションを指定して、独自パッケージである
「mydefault」を使用することを宣言します。
※この記述がないと、struts標準パッケージであるstruts-defaultが
適用されてしまいます。
(2) 「/MainMenu.action」の呼出時に実行される execute()メソッドでは
単に、「return SUCCESS;」として、「mainMenu-success.jsp」を表示します。
mainMenu-success.jspに以下の記述をします。
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="Windows-31J"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Login Sample</title>
</head>
<body>
メインメニュー<br />
<s:url id="listuser" value="listUser.action" /> <s:a href="%{listuser}">ユーザ管理</s:a>
</body>
</html>
(1) メインメニューには、「ユーザ管理」という1メニューだけを記述しています。
(2) 「ユーザ管理」リンクをクリックした場合、「listUser.action」を呼び出します。
これにより「ListUserActionクラス」が自動的に呼び出されます。