struts 2の概要
1、struts 2の運行メカニズム:clientはtomcat参考プロファイルwebに渡す.xml、対応するstruts 2 filterを見つけて、struts 2 filterはプロファイルstrutsを参照します.xmlは、まずnamespace、action、resultを見て、JSPファイルを見つけてクライアントに返します.メリット:リクエストとビューを分離し、より柔軟に
2、ネーミングスペース(namespace):namespaceはactionのアクセスパスを決定し、デフォルトは「」(空)であり、すべてのパスのactionを受信することができる.namespaceは/,あるいは/xxx,あるいは/xxx/yyy/,対応するアクセスパスは/indexである.action,/xxx/index.アクション、または/xxx/yyy/index.action.namespaceはモジュールで命名することも望ましい.
3、action:具体的なビューの戻りはユーザーが自分で定義したActionで決定することができ、具体的な手段は戻り文字列に基づいて対応する配置項目を見つけ、ビュー(結果JSPページ)の内容を決定することであり、具体的なActionの実現は普通のjavaクラスであり、public String executeメソッドがあればよい.あるいはActionインタフェースを実現するが、最もよく使われるのはActionSupportから継承され、Struts 2を直接使用してパッケージ化できるという利点がある.
//struts.xml
<constant name="struts.devMode" value="true" /> <!-- devMode , jsp、struts.xml , action(Java ) -->
<!-- package 、namespace action , ""( ),
/ ,extends -->
<package name="default" namespace="/" extends="struts-default">
<!-- class , class execute , success, class,class="com.struts2.action.IndexAction1" com.struts2.action IndexAction1 , method,method="add", IndexAction1 add -->
<action name="hello">
<!-- result success, -->
<result name = "success">/Hello.jsp </result>
</action>
</package>
2、ネーミングスペース(namespace):namespaceはactionのアクセスパスを決定し、デフォルトは「」(空)であり、すべてのパスのactionを受信することができる.namespaceは/,あるいは/xxx,あるいは/xxx/yyy/,対応するアクセスパスは/indexである.action,/xxx/index.アクション、または/xxx/yyy/index.action.namespaceはモジュールで命名することも望ましい.
3、action:具体的なビューの戻りはユーザーが自分で定義したActionで決定することができ、具体的な手段は戻り文字列に基づいて対応する配置項目を見つけ、ビュー(結果JSPページ)の内容を決定することであり、具体的なActionの実現は普通のjavaクラスであり、public String executeメソッドがあればよい.あるいはActionインタフェースを実現するが、最もよく使われるのはActionSupportから継承され、Struts 2を直接使用してパッケージ化できるという利点がある.
public class IndexAction1 {
public String execute() { // execute
return "success";
}
}
import com.opensymphony.xwork2.Action;
public class IndexAction2 implements Action {
public String execute() { // Action
return "success";
}
}
import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings("serial")
public class IndexAction3 extends ActionSupport {
@Override
public String execute() { // ActionSupport , Struts2
return "success";
}
}
//JSP
4、path :struts2 action jsp , 。<a href="index.jsp">index.jsp</a> redirect , redirect 。 , 。( jsp request.getContextRoot webapp ) myeclipse , basePath
//struts.xml
<package name="path" extends="struts-default" namespace="/path">
<action name="path" class="com.bjsxt.struts2.path.action.PathAction">
<result name="path">/path.jsp</result>
</action>
</package>
//action
package com.bjsxt.struts2.path.action;
public class PathAction {
public String execute() {
return "path";
}
}