成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Struts Action 控制器

genedna / 3247人閱讀

摘要:請參閱許可證管理權(quán)限和限制的特定語言根據(jù)許可證。行動執(zhí)行成功但沒有顯示一個視圖。這對于有效的操作很有用以重定向等其他方式處理視圖。表示執(zhí)行邏輯結(jié)果的字符串。如果發(fā)生系統(tǒng)級異常,則拋出異常。注意應(yīng)通過返回來處理應(yīng)用程序級異常錯誤值,例如。

控制器

即,mvc模型的控制器模型,用于接收數(shù)據(jù),傳遞給視圖層,和模型層
默認(rèn)使用execute方法

查看相關(guān)接口

查看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 the execute() 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 as Action.ERROR. */ public String execute() throws Exception; }

大概翻譯一下

 *
?*獲得Apache軟件基金會(ASF)的許可
?*或更多貢獻(xiàn)者許可協(xié)議。請參閱NOTICE文件
?*與此工作一起分發(fā)以獲取更多信息
?*關(guān)于版權(quán)所有權(quán)。 ASF許可此文件
?*根據(jù)Apache許可證2.0版(
?* “執(zhí)照”);除非符合規(guī)定,否則您不得使用此文件
?*使用許可證。您可以在以下位置獲取許可證副本
?*
?* http://www.apache.org/licenses/LICENSE-2.0
?*
?*除非適用法律要求或書面同意,
?*根據(jù)許可證分發(fā)的軟件分發(fā)在
?*“按原樣”基礎(chǔ),不提供任何保證或條件
?* KIND,無論是明示的還是暗示的。請參閱許可證
?*管理權(quán)限和限制的特定語言
?*根據(jù)許可證。
?* /
package com.opensymphony.xwork2;

/ **
?*所有動作可能實(shí)現(xiàn)此接口,該接口公開 execute()方法。
?* 

?*但是,從XWork 1.1開始,這是必需的,僅用于幫助用戶。您可以自由創(chuàng)建POJO ?*遵守此接口定義的相同合同而不實(shí)際實(shí)現(xiàn)接口。 ?* ?* / public interface Action { ????/ ** ?????*行動執(zhí)行成功。顯示結(jié)果 ?????*查看最終用戶。 ?????* / ????public static final String SUCCESS =“success”; ????/ ** ?????*行動執(zhí)行成功但沒有 ?????*顯示一個視圖。這對于有效的操作很有用 ?????*以重定向等其他方式處理視圖。 ?????* / ????public static final String NONE =“none”; ????/ ** ?????*行動執(zhí)行失敗。 ?????*顯示錯誤視圖,可能會詢問 ?????*用戶重試輸入數(shù)據(jù)。 ?????* / ????public static final String ERROR =“error”; ????/ ** ?????*

?????*動作執(zhí)行需要更多輸入 ?????*為了成功。 ?????*此結(jié)果通常用于表格 ?????*處理行動已經(jīng)執(zhí)行 ?????*提供表單的默認(rèn)值。該 ?????*與處理程序關(guān)聯(lián)的表單應(yīng)該是 ?????*向最終用戶顯示。 ?????* ?????* ?????*

?????*如果給定輸入,也會使用此結(jié)果 ?????*參數(shù)無效,意味著用戶 ?????*應(yīng)該嘗試再次提供輸入。 ?????* ?????* / ????public static final String INPUT =“input”; ????/ ** ?????*行動無法執(zhí)行,因?yàn)??????*用戶最多未登錄。登錄視圖 ?????*應(yīng)該顯示。 ?????* / ????public static final String LOGIN =“l(fā)ogin”; ????/ ** ?????*執(zhí)行動作的邏輯。 ?????* ?????* @return表示執(zhí)行邏輯結(jié)果的字符串。 ?????*有關(guān)標(biāo)準(zhǔn)結(jié)果值的列表,請參閱此界面中的常量。 ?????* @throws如果發(fā)生系統(tǒng)級異常,則拋出異常。 ?????* 注意:應(yīng)通過返回來處理應(yīng)用程序級異常 ?????*錯誤值,例如 Action.ERROR 。 ?????* / ????public String execute()拋出異常; }

可以看到,定義了幾個常量一個接口,其中默認(rèn)執(zhí)行execute方法,其中幾個常量為執(zhí)行結(jié)果的常量

擴(kuò)展實(shí)現(xiàn)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

大概翻譯一下

*為最常見的操作提供默認(rèn)實(shí)現(xiàn)。
? *有關(guān)更多詳細(xì)信息,請參閱此類實(shí)現(xiàn)的所有接口的文檔。
?*/

所以直接擴(kuò)展該類即可

重新擴(kuò)展HelloWorldAction
package 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中書寫業(yè)務(wù)邏輯
重新更改如下

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{
            // 其余內(nèi)容返回error
            return ERROR;
        }
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

在上方,根據(jù)name的值,完成了一個業(yè)務(wù)邏輯,返回是 or 否

編寫配置文件





    
    
    
    
        
        
            
            /HelloWorld.jsp
            /error.html
        
    
效果如下

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/73929.html

相關(guān)文章

  • Struts2 入門 1

    摘要:是的下一代產(chǎn)品,是在和的技術(shù)基礎(chǔ)上進(jìn)行了合并的全新的框架。其全新的的體系結(jié)構(gòu)與的體系結(jié)構(gòu)差別巨大。以為核心,采用攔截器的機(jī)制來處理用戶的請求,這樣的設(shè)計(jì)也使得業(yè)務(wù)邏輯控制器能夠與完全脫離開,所以可以理解為的更新產(chǎn)品。 Struts是什么 概念 Struts2是一個基于MVC設(shè)計(jì)模式的Web應(yīng)用框架,它本質(zhì)上相當(dāng)于一個servlet,在MVC設(shè)計(jì)模式中,Struts2作為控制器(Cont...

    tabalt 評論0 收藏0
  • SpringMVC入門就這么簡單

    摘要:也就是說映射器就是用于處理什么樣的請求提交給處理。這和是一樣的提交參數(shù)的用戶名編號提交配置處理請求注冊映射器包框架接收參數(shù)設(shè)置無參構(gòu)造器,里邊調(diào)用方法,傳入要封裝的對象這里的對象就表示已經(jīng)封裝好的了對象了。 什么是SpringMVC? SpringMVC是Spring家族的一員,Spring是將現(xiàn)在開發(fā)中流行的組件進(jìn)行組合而成的一個框架!它用在基于MVC的表現(xiàn)層開發(fā),類似于struts...

    SKYZACK 評論0 收藏0
  • 面試題:SpringMVC和Struts2的區(qū)別

    摘要:的入口是,而是這里要指出,和是不同的。以前認(rèn)為是的一種特殊,這就導(dǎo)致了二者的機(jī)制不同,這里就牽涉到和的區(qū)別了。開發(fā)效率和性能高于。的實(shí)現(xiàn)機(jī)制有以自己的機(jī)制,用的是獨(dú)立的方式。 1、Struts2是類級別的攔截, 一個類對應(yīng)一個request上下文,SpringMVC是方法級別的攔截,一個方法對應(yīng)一個request上下文,而方法同時又跟一個url對應(yīng),所以說從架構(gòu)本身上SpringMVC...

    isaced 評論0 收藏0
  • Struts2開發(fā)流程

    摘要:的開發(fā)流程在文件中定義核心攔截用戶請求。的最大作用是配置和請求之間的對應(yīng)關(guān)系,并配置邏輯視圖名和物理視圖資源之間的相對關(guān)系,即返回結(jié)果和文件的物理位置的關(guān)系。實(shí)現(xiàn)為了使開發(fā)的更規(guī)范,提供了一個接口,定義了的處理應(yīng)該實(shí)現(xiàn)的規(guī)范。 1.struts2的開發(fā)流程 在web.xml文件中定義核心Filter攔截用戶請求。 struts2 org.apa...

    Leo_chen 評論0 收藏0
  • Struts2入門這一篇就夠了

    摘要:現(xiàn)在,我們使用了的話,那么框架內(nèi)部就能幫我們封裝了。每個中都有和這樣的方法,沒必要的。我們抽取出來,通過配置文件來把這兩個方法替換掉,那么我們的程序就會更加優(yōu)雅了。于是乎,就應(yīng)運(yùn)而生了。因此,學(xué)習(xí)的時候,不了解是沒有任何關(guān)系的。 前言 這是Strtus的開山篇,主要是引入struts框架...為什么要引入struts,引入struts的好處是什么,以及對Struts2一個簡單的入門.....

    Scliang 評論0 收藏0
  • Struts2開發(fā)入門指南

    摘要:作為一個開發(fā)框架,它為我們很好的提供了一個開發(fā)模板,使用可以減輕開發(fā)人員的負(fù)擔(dān)并且可以增強(qiáng)程序的可讀性,下面我們來說說如何使用做一個小例子開發(fā)所需要的工具開發(fā)環(huán)境開發(fā)的包一個文檔模板開發(fā)開發(fā)分為以下四步完成導(dǎo)入相應(yīng)的包在文檔中配置的核 **Struts2**作為一個開發(fā)框架,它為我們很好的提供了一個開發(fā)模板,使用**Struts2**可以減輕開發(fā)人員的負(fù)擔(dān)并且可以增強(qiáng)程序的可讀性,下面...

    notebin 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<