程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> SSH輸入錯誤Action,ssh錯誤action

SSH輸入錯誤Action,ssh錯誤action

編輯:JAVA綜合教程

SSH輸入錯誤Action,ssh錯誤action


在類型轉化、輸入驗證校驗 、文件上傳等出錯的時候,如Action中某個變量是int,而上傳的值是"ABC",此時Action不會執行execute()函數,而是直接返回result name="input",如果沒有定義result name="input"跳轉的Action,就會報錯誤。可以自己定義一個Action,遇到此類情況時返回自己定義的信息。

首先定義輸入錯誤Action類:

@SuppressWarnings("serial")
public class InputErrorAction extends ActionSupport {    
    
    public String execute(){        
        int status;
        Map<String, Object> map = new HashMap<String, Object>();
        status = -1001;
        map.put("Status", status);
        map.put("Desc", "輸入錯誤未通過驗證");
        
        // 返回結果
        try{            
            ResUtil.toJson(ServletActionContext.getResponse(), map);
        }catch (IOException e){
            e.printStackTrace();
        }
        
        return null;
    }

}

在applicationContext.xml中為該類定義一個bean:

    <!-- 輸入錯誤 -->
    <bean id="inputErrorAction" class="com.xkssh.action.InputErrorAction">
    </bean>

在struts中定義一個Action:

        <!-- 輸入錯誤未通過驗證 -->
        <action name="input_error" class="inputErrorAction">
        </action>

為其他Action定義result name="input"時跳轉的Action:

        <action name="xkgwc_delete" class="xkgwcDeleteAction">
            <result name="success"/>
            <result name="input" type="redirectAction"> 
                <param name="actionName">input_error</param> 
            </result>
        </action>

這樣,當發生輸入錯誤時,就會返回自己定義的信息:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved