Struts2:超簡単なStruts2プログラミング | プログラム垂れ流し

Struts2:超簡単なStruts2プログラミング

Struts2のデフォルトのWebRootは

/WEB-INF/content/

なので、

そこにindex.jspを配置します。

●index.jsp
---------------------------------------
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>TomatoMemo</title>
</head>
<body>
<a href="hello!test.action"> トマト大好き! </a><br />
<s:property value="name"/><br>
</body>
</html>
---------------------------------------
リンクを押して、アクションを発生させてnameに値を入れて再表示するプログラムを組みます。
以下ポイント
struts2のタグをプレフィックス「s」で宣言。
リンク先をhello!test.actionとしている。
これは、struts1だとhellotest.doとかだったやつに該当する。
意味は以下のとおり
hello = HelloAction.java
! = の
test = testメソッド
を実行せよ!となります。

とりあえず、命名規則が重要になってくる事を頭に留めておくといいでしょう。

というわけで、HelloAction.javaを作ります。

場所は
/WEB-INF/src/action/HelloAction.java
となります。

●HelloAction.java
---------------------------------------
package action;

import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;

import com.opensymphony.xwork2.ActionSupport;

@Results({
@Result(name="success", location="index.jsp"),
})

@SuppressWarnings("serial")
public class HelloAction extends ActionSupport {
private String name;

public String getName() {return name;}
public void setName(String name) {this.name = name;}

public String test() throws Exception {
setName("俺も好きです!");
return SUCCESS;
}
}
---------------------------------------
jspで指定したtestメソッドにて、nameに値を入れます。
そして、今回はなにもしないのでsuccessをリターンします。
リターンした値はクラス定義部の上で宣言している
@Resultのアノテーションにてしょりしてくれます。
この場合。戻り値にsuccessの場合、index.jspに遷移するという処理となります。


これでおわりです。
簡単すぎましたか?
では、動作を確認してみましょう。
「http://localhost:8080/プロジェクト名/」
でつながると思います。
そして、リンクを押下してください。
正常に動けばリンクの下にActionクラスで代入したメッセージが出現するはずです。
そして、actionが動いたという証として、URLが
「http://localhost:8080/プロジェクト名/hello!test.action」
となっていると思います。

これが確認できたあなたは、オメデトウです。

ちゃんと動いてます。

これから楽しいStruts2ライフを楽しんでください。

おそらく最初はテーマをハックすることになります。
何故か?入力項目を使うと気づきます。