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