摘要:請參閱許可證管理權限和限制的特定語言根據許可證。行動執行成功但沒有顯示一個視圖。這對于有效的操作很有用以重定向等其他方式處理視圖。表示執行邏輯結果的字符串。如果發生系統級異常,則拋出異常。注意應通過返回來處理應用程序級異常錯誤值,例如。
控制器
即,mvc模型的控制器模型,用于接收數據,傳遞給視圖層,和模型層
默認使用execute方法
查看com.opensymphony.xwork2下的Action接口
文件如下
/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package com.opensymphony.xwork2; /** * All actions may implement this interface, which exposes theexecute()
method. ** However, as of XWork 1.1, this is not required and is only here to assist users. You are free to create POJOs * that honor the same contract defined by this interface without actually implementing the interface. *
*/ public interface Action { /** * The action execution was successful. Show result * view to the end user. */ public static final String SUCCESS = "success"; /** * The action execution was successful but do not * show a view. This is useful for actions that are * handling the view in another fashion like redirect. */ public static final String NONE = "none"; /** * The action execution was a failure. * Show an error view, possibly asking the * user to retry entering data. */ public static final String ERROR = "error"; /** ** The action execution require more input * in order to succeed. * This result is typically used if a form * handling action has been executed so as * to provide defaults for a form. The * form associated with the handler should be * shown to the end user. *
* ** This result is also used if the given input * params are invalid, meaning the user * should try providing input again. *
*/ public static final String INPUT = "input"; /** * The action could not execute, since the * user most was not logged in. The login view * should be shown. */ public static final String LOGIN = "login"; /** * Where the logic of the action is executed. * * @return a string representing the logical result of the execution. * See constants in this interface for a list of standard result values. * @throws Exception thrown if a system level exception occurs. * Note: Application level exceptions should be handled by returning * an error value, such asAction.ERROR
. */ public String execute() throws Exception; }
大概翻譯一下
*
?*獲得Apache軟件基金會(ASF)的許可
?*或更多貢獻者許可協議。請參閱NOTICE文件
?*與此工作一起分發以獲取更多信息
?*關于版權所有權。 ASF許可此文件
?*根據Apache許可證2.0版(
?* “執照”);除非符合規定,否則您不得使用此文件
?*使用許可證。您可以在以下位置獲取許可證副本
?*
?* http://www.apache.org/licenses/LICENSE-2.0
?*
?*除非適用法律要求或書面同意,
?*根據許可證分發的軟件分發在
?*“按原樣”基礎,不提供任何保證或條件
?* KIND,無論是明示的還是暗示的。請參閱許可證
?*管理權限和限制的特定語言
?*根據許可證。
?* /
package com.opensymphony.xwork2;
/ **
?*所有動作可能 b>實現此接口,該接口公開 execute() code>方法。
?*
?*但是,從XWork 1.1開始,這不 b>是必需的,僅用于幫助用戶。您可以自由創建POJO
?*遵守此接口定義的相同合同而不實際實現接口。
?* p>
?* /
public interface Action {
????/ **
?????*行動執行成功。顯示結果
?????*查看最終用戶。
?????* /
????public static final String SUCCESS =“success”;
????/ **
?????*行動執行成功但沒有
?????*顯示一個視圖。這對于有效的操作很有用
?????*以重定向等其他方式處理視圖。
?????* /
????public static final String NONE =“none”;
????/ **
?????*行動執行失敗。
?????*顯示錯誤視圖,可能會詢問
?????*用戶重試輸入數據。
?????* /
????public static final String ERROR =“error”;
????/ **
?????*
?????*動作執行需要更多輸入
?????*為了成功。
?????*此結果通常用于表格
?????*處理行動已經執行
?????*提供表單的默認值。該
?????*與處理程序關聯的表單應該是
?????*向最終用戶顯示。
?????* p>
?????*
?????*
?????*如果給定輸入,也會使用此結果
?????*參數無效,意味著用戶
?????*應該嘗試再次提供輸入。
?????* p>
?????* /
????public static final String INPUT =“input”;
????/ **
?????*行動無法執行,因為
?????*用戶最多未登錄。登錄視圖
?????*應該顯示。
?????* /
????public static final String LOGIN =“login”;
????/ **
?????*執行動作的邏輯。
?????*
?????* @return表示執行邏輯結果的字符串。
?????*有關標準結果值的列表,請參閱此界面中的常量。
?????* @throws如果發生系統級異常,則拋出異常。
?????* 注意: b>應通過返回來處理應用程序級異常
?????*錯誤值,例如 Action.ERROR code>。
?????* /
????public String execute()拋出異常;
}
可以看到,定義了幾個常量一個接口,其中默認執行execute方法,其中幾個常量為執行結果的常量
擴展實現Action接口的ActionSupport類/** * Provides a default implementation for the most common actions. * See the documentation for all the interfaces this class implements for more detailed information. */ public class ActionSupport implements Action, Validateable, ValidationAware, TextProvider, LocaleProvider, Serializable
大概翻譯一下
*為最常見的操作提供默認實現。 ? *有關更多詳細信息,請參閱此類實現的所有接口的文檔。 ?*/
所以直接擴展該類即可
重新擴展HelloWorldActionpackage com.ming; import com.opensymphony.xwork2.ActionSupport; public class HelloWorldAction extends ActionSupport { private String name; @Override public String execute() throws Exception { return "success"; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
可以在execute中書寫業務邏輯
重新更改如下
package com.ming; import com.opensymphony.xwork2.ActionSupport; public class HelloWorldAction extends ActionSupport { private String name; @Override public String execute() throws Exception { if(SUCCESS.equals(name)){ // 此時返回SUCCESS return SUCCESS; }else{ // 其余內容返回error return ERROR; } } public String getName() { return name; } public void setName(String name) { this.name = name; } }
在上方,根據name的值,完成了一個業務邏輯,返回是 or 否
編寫配置文件效果如下/HelloWorld.jsp /error.html
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/73929.html
摘要:是的下一代產品,是在和的技術基礎上進行了合并的全新的框架。其全新的的體系結構與的體系結構差別巨大。以為核心,采用攔截器的機制來處理用戶的請求,這樣的設計也使得業務邏輯控制器能夠與完全脫離開,所以可以理解為的更新產品。 Struts是什么 概念 Struts2是一個基于MVC設計模式的Web應用框架,它本質上相當于一個servlet,在MVC設計模式中,Struts2作為控制器(Cont...
摘要:也就是說映射器就是用于處理什么樣的請求提交給處理。這和是一樣的提交參數的用戶名編號提交配置處理請求注冊映射器包框架接收參數設置無參構造器,里邊調用方法,傳入要封裝的對象這里的對象就表示已經封裝好的了對象了。 什么是SpringMVC? SpringMVC是Spring家族的一員,Spring是將現在開發中流行的組件進行組合而成的一個框架!它用在基于MVC的表現層開發,類似于struts...
摘要:的入口是,而是這里要指出,和是不同的。以前認為是的一種特殊,這就導致了二者的機制不同,這里就牽涉到和的區別了。開發效率和性能高于。的實現機制有以自己的機制,用的是獨立的方式。 1、Struts2是類級別的攔截, 一個類對應一個request上下文,SpringMVC是方法級別的攔截,一個方法對應一個request上下文,而方法同時又跟一個url對應,所以說從架構本身上SpringMVC...
摘要:的開發流程在文件中定義核心攔截用戶請求。的最大作用是配置和請求之間的對應關系,并配置邏輯視圖名和物理視圖資源之間的相對關系,即返回結果和文件的物理位置的關系。實現為了使開發的更規范,提供了一個接口,定義了的處理應該實現的規范。 1.struts2的開發流程 在web.xml文件中定義核心Filter攔截用戶請求。 struts2 org.apa...
摘要:現在,我們使用了的話,那么框架內部就能幫我們封裝了。每個中都有和這樣的方法,沒必要的。我們抽取出來,通過配置文件來把這兩個方法替換掉,那么我們的程序就會更加優雅了。于是乎,就應運而生了。因此,學習的時候,不了解是沒有任何關系的。 前言 這是Strtus的開山篇,主要是引入struts框架...為什么要引入struts,引入struts的好處是什么,以及對Struts2一個簡單的入門.....
摘要:作為一個開發框架,它為我們很好的提供了一個開發模板,使用可以減輕開發人員的負擔并且可以增強程序的可讀性,下面我們來說說如何使用做一個小例子開發所需要的工具開發環境開發的包一個文檔模板開發開發分為以下四步完成導入相應的包在文檔中配置的核 **Struts2**作為一個開發框架,它為我們很好的提供了一個開發模板,使用**Struts2**可以減輕開發人員的負擔并且可以增強程序的可讀性,下面...
閱讀 3319·2021-11-08 13:12
閱讀 2756·2021-10-15 09:41
閱讀 1451·2021-10-08 10:05
閱讀 3300·2021-10-08 10:04
閱讀 2102·2021-09-29 09:34
閱讀 2472·2019-08-30 15:55
閱讀 2979·2019-08-30 15:45
閱讀 2577·2019-08-29 14:17