現在、Struts 2を評価しています。公式ドキュメントには、次のJavaおよびJSPコードを含むHelloWorldの例が含まれています。
Java
import com.opensymphony.xwork2.ActionSupport;
public class HelloWorld extends ActionSupport {
public static final String MESSAGE = "Struts is up and running ...";
public String execute() throws Exception {
setMessage(MESSAGE);
return SUCCESS;
}
private String message;
public void setMessage(String message){
this.message = message;
}
public String getMessage() {
return message;
}
}
JSP
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>Hello World!</title>
</head>
<body>
<h2><s:property value="message" /></h2>
</body>
</html>
この例では、次のXMLファイルを使用して、このアクションのURLを指定し、アクションとビューを結び付けます。
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="tutorial" extends="struts-default">
<action name="HelloWorld" class="tutorial.HelloWorld">
<result>/HelloWorld.jsp</result>
</action>
</package>
</struts>
私の質問は(最後に)次のとおりです。これは本当にStruts2の最先端ですか?XML構成と特定の基本クラス(ActionSupport)のサブクラス化の必要性は廃止されたと私は信じるようになりました。代わりにアノテーションを設定に使用できると思いました。
より具体的な質問がいくつかあります。
- リクエストタイプごとに1つのActionクラスを用意する必要がありますか、それともeactionに複数のメソッドを定義して、それぞれが異なるリクエストを処理できるようにすることは可能ですか?
- ビューで使用できるようにするデータメンバー(上記の例では「メッセージ」)のパブリックゲッターとセッターを定義する必要がありますか?
これがStruts2の最先端である場合、Struts1に比べてそれほど改善されていないように見えますが、これは単なる悪い例だと思います。
ありがとう、ドン