struts2

今回は簡単にですが、フレームワーク「struts2」についてご紹介します。

まず、フレームワークというのは簡単にいうと
”webアプリケーションを作成する土台”のようなものです。
フレームワークを採用することで開発を楽に行うことができます。

今回はその中でも、struts2についてお話します。
struts2の環境構築はインターネット上に色々と解説があるので今回は割愛します。
ここでは、私が何も知らずに使ってみた結果、
抑えて置くべきポイントだと感じたところをご紹介します。

 
1.Actionクラス
struts2ではActionと呼ばれるクラスが活躍します。
Actionには画面で実行したい処理を記述します。

public static class TestAction extends ActionSupport{
//Actionクラスは必ずActionSupportクラスを継承
  public void execute(){
  //初期処理
  }

//その他実行したい処理を書く
  public Void TestPrint(){
  }
}

 

特に重要なのが、execute()です。
このメソッドは画面が呼び出されたら明示的に呼び出さなくても実行されます。
ですので、execute()には初期化処理を書いておくと便利です。

 
2.アノテーション
アノテーションとは、画面の遷移先を設定しておくものです。

//アノテーション設定
@Result({
   @Result(name = "Success", value = "success.jsp"),
   pResult(name = "False", value = "false.jsp")
})
public static Class TestAction extends ActionSupport{
   public static void execute(){
   }

   //成功か失敗か判定
   public static void ResultTest(boolean result){
    if(result == true){
      return "Success";
    else{
      return "False";
    }
   }
}

メソッドの戻り値によって画面の遷移先が変化します。
nameには戻り値を、valueには遷移先を設定します。

 
3.setter/gettter
setterとは値を設定するもの、
getterとは値を取り出すもの、だと思ってください。

struts2ではこの2つをよく使用します。

public static class TestBean() extends ActionSupport{
   String title;
  public static void setTitle(String title){
    this.title = title;
  }

  public static String getTitle(){
    return title;
  }
}

 

 

<%@ page cotentType="text/html"; charset="UTF-8" %>
<%@ page pageEncoding="Windows-31J" %>
<%@ taglib uri="struts-tags" prefix="s" %>

<s:form>
  <%-- setTitle()の呼び出し --%>
  <s:textfield name "title" label="題名" />
</s:form>

<%-- getTitle()の呼び出し --">
<s:property value="title">

setter/getterの呼び出しをJSP内から行うことができます。
ユーザの入力した値をsetterに入れ、Actionで値に対して処理を行い
getterでユーザに提示することが出来ます。

 

 

この3つのポイントを意識しておけば、struts2の経験がなくとも
なんとか動かすことが出来ると思います。