struts 2はゼロから始まる(二)
知識点:1、動的アクション
2、値スタック
3、ウェブの中でどのようにウェブの対象を持ちます
1、動的actionの実現
1.1.struts.xmlでactionノードを構成するmethodプロパティはactionのメソッド名です
1.2、ワイルドカードを使用して対応する方法*{}(コードは以下の通り)
struts.xmlコード:
jspコード:
1.3、ページ上のformフォームでactionを使う!methodはactionの特定のメソッドを指定します
struts.xmlコード:
jspページコード:
2、値スタック(値を格納するスタック領域)
2.1、保存されている役割ドメインはrequestである
2.2、
3、ウェブの中でどのようにウェブの対象を持ちます
3.1、非IOC
3.2、IOC(set注入)サーブレットRequestAwareインタフェースを実現
ソースのダウンロードはこちらをクリックしてください:
2、値スタック
3、ウェブの中でどのようにウェブの対象を持ちます
1、動的actionの実現
1.1.struts.xmlでactionノードを構成するmethodプロパティはactionのメソッド名です
<struts>
<package name="mypackage" extends="struts-defaut">
<action name="test" class="cn.zhuojingxinxi.web.TestAction" method="save">
</action>
</package>
package cn.zhuojingxinxi.web;
public class TestAction {
public String execute(){
System.out.println("this is execute method```");
return null;
}
public String save(){
System.out.println("this is save method```");
return null;
}
public String update(){
System.out.println("this is update method```");
return null;
}
public String delete(){
System.out.println("this is delete method```");
return null;
}
}
1.2、ワイルドカードを使用して対応する方法*{}(コードは以下の通り)
struts.xmlコード:
<struts>
<package name="mypackage" extends="struts-default">
<action name="test_*" class="cn.zhuojingxinxi.web.TestAction" method="{1}">
</action>
</package>
jspコード:
<body>
<form action="test.action" method="post">
<input type="submit" value=" " />
</form>
<form action="test_save.action" method="post">
<input type="submit" value=" " />
</form>
<form action="test_update.action" method="post">
<input type="submit" value=" " />
</form>
<form action="test_delete.action" method="post">
<input type="submit" value=" " />
</form>
</body>
1.3、ページ上のformフォームでactionを使う!methodはactionの特定のメソッドを指定します
struts.xmlコード:
<action name="test" class="cn.zhuojingxinxi.web.TestAction">
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
jspページコード:
<body>
<form action="test.action" method="post">
<input type="submit" value=" " />
</form>
<form action="test!save.action" method="post">
<input type="submit" value=" " />
</form>
<form action="test!update.action" method="post">
<input type="submit" value=" " />
</form>
<form action="test!delete.action" method="post">
<input type="submit" value=" " />
</form>
</body>
2、値スタック(値を格納するスタック領域)
2.1、保存されている役割ドメインはrequestである
2.2、
3、ウェブの中でどのようにウェブの対象を持ちます
3.1、非IOC
public String save(){
// action
ValueStack valueStack= ActionContext.getContext().getValueStack();
//
//1、 (HttpServletRequest)
HttpServletRequest request= (HttpServletRequest) valueStack.getContext().get(StrutsStatics.HTTP_REQUEST);
request.setAttribute("hello", " ");
//2、
HttpServletRequest request1= (HttpServletRequest)ActionContext.getContext().get(StrutsStatics.HTTP_REQUEST);
//3、 HttpServletRequest
HttpServletRequest request2= ServletActionContext.getRequest();
System.out.println("this is save method```");
return null;
}
3.2、IOC(set注入)サーブレットRequestAwareインタフェースを実現
private HttpServletRequest httpServletRequest;
public void setServletRequest(HttpServletRequest arg0) {
this.httpServletRequest=arg0;
}
ソースのダウンロードはこちらをクリックしてください: