Struts2框架学习Action命名空间创建方式
? ? ?Struts2框架中Action類時一個單獨的javabean對象,相比struts1來說,不需要去繼承任何類型或?qū)崿F(xiàn)任何借口,表單數(shù)據(jù)包含在Action中,而Struts1則必須繼承org.apache.struts.action.Action或者其子類才行,相比之下,耦合度減小了許多。
對于struts2來說,在struts.xml配置是其核心內(nèi)容,今天主要介紹其命名空間和其三種創(chuàng)建方式。
命名空間namespace
<package name="default" namespace="/" extends="struts-default">
? ? ?namespace在缺省的情況下相當于"";
三種創(chuàng)建方式:
方式一:創(chuàng)建一個POJO類
POJO(PlainOrdinary Java Object)簡單的Java對象
struts.xml配置
<!-- 使用pojo創(chuàng)建action --><action name="demo1" class="cn.itcast.action.Demo1Action"><result>/success.jsp</result></action>//創(chuàng)建一個Action,使用pojo類 public class Demo1Action {public String execute() {return "success";} }
- 優(yōu)點:無耦合
- 缺點:所有功能都需要自己實現(xiàn)
方式二:創(chuàng)建一個類,實現(xiàn)Action接口
Action接口 ?com.opensymphony.xwork2.Action
struts.xml
<!-- 使用Action接口來實現(xiàn)action創(chuàng)建 --><action name="demo2" class="cn.itcast.action.Demo2Action"><result>/success.jsp</result></action>Action:
//繼承Action public class Demo2Action implements Action {public String execute() throws Exception { // SUCCESS代表數(shù)據(jù)處理成功return SUCCESS;}}
優(yōu)點:在Action接口中定義了請求處理方法execute,還定義了五個結(jié)果視圖
- ? ? ?public static final String SUCCESS ="success";? //數(shù)據(jù)處理成功(成功頁面)
- ? ? ?public static final String NONE ="none";? //頁面不跳轉(zhuǎn)? return null;效果一樣
- ? ? ?public static final String ERROR ="error";? //數(shù)據(jù)處理發(fā)送錯誤 (錯誤頁面)
- ? ? ?public static final String INPUT ="input"; //用戶輸入數(shù)據(jù)有誤,通常用于表單數(shù)據(jù)校驗(輸入頁面)
- ? ? ?public static final String LOGIN ="login"; //主要權(quán)限認證 (登陸頁面)
缺點:具體的功能還需要自己手動實現(xiàn).
方式三:創(chuàng)建一個類,繼承ActionSupport
ActionSupport ? ?com.opensymphony.xwork2.ActionSupport
struts.xml
<!-- 使用繼承Actionsupport來實現(xiàn)action創(chuàng)建 --><action name="demo3" class="cn.itcast.action.Demo3Action"method="add"><result>/success.jsp</result></action>Action
//繼承于ActionSupport public class Demo3Action extends ActionSupport {public String add() throws Exception {System.out.println("add method");return SUCCESS;}}
- 優(yōu)點:不僅具有了Action接口中提供的功能(ActionSupport類實現(xiàn)了Action接口),還具有國際化參數(shù)校驗錯誤信息設(shè)置功能
- 缺點:耦合度高
? ? ?介于優(yōu)缺點的比較,在開發(fā)的過程中我們還是使用第三種比較多,縱然耦合度高,但是由于不用著急動手去實現(xiàn),我們完全可以通過其他的方法去將耦合度降低。
? ? ?三種方式都可以達到相同的目的,如果成功跳轉(zhuǎn)則可將其設(shè)置的jsp頁面顯示出來。再此省略不計
轉(zhuǎn)載于:https://www.cnblogs.com/huohuoL/p/10545503.html
總結(jié)
以上是生活随笔為你收集整理的Struts2框架学习Action命名空间创建方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (转)个例子让你了解Java反射机制
- 下一篇: SQL Server 求结果