国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

Struts2(六)result

2019-11-14 23:31:38
字體:
供稿:網(wǎng)友
Struts2(六)result一、result簡述

result:輸出結(jié)果;第個Action返回一個字符串,Struts2根據(jù)這個值來決定響應(yīng)結(jié)果

name屬性:result的邏輯名。和Actin里的返回值匹配,默認"success"

值 :指定對應(yīng)的實際資源位置

二、Action中返回其它值

如果Action中返回其它扯,result中的Name屬性要與之對應(yīng)才可以找到指定的資源

Action默認定義了一些常量,可以拿來使用

package com.opensymphony.xwork2;public interface Action {       public static final String SUCCESS = "success";    public static final String NONE = "none";     public static final String ERROR = "error";      public static final String INPUT = "input";    public static final String LOGIN = "login";}

三、type屬性

 <result-types>            <result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult"/>            <result-type name="dispatcher" class="org.apache.struts2.dispatcher.ServletDispatcherResult" default="true"/>            <result-type name="freemarker" class="org.apache.struts2.views.freemarker.FreemarkerResult"/>            <result-type name="httpheader" class="org.apache.struts2.dispatcher.HttpHeaderResult"/>            <result-type name="redirect" class="org.apache.struts2.dispatcher.ServletRedirectResult"/>            <result-type name="redirectAction" class="org.apache.struts2.dispatcher.ServletActionRedirectResult"/>            <result-type name="stream" class="org.apache.struts2.dispatcher.StreamResult"/>            <result-type name="velocity" class="org.apache.struts2.dispatcher.VelocityResult"/>            <result-type name="xslt" class="org.apache.struts2.views.xslt.XSLTResult"/>            <result-type name="plainText" class="org.apache.struts2.dispatcher.PlainTextResult" />        </result-types>
這個配置顯示了幾種常見的結(jié)果類型,關(guān)于這些以及其他結(jié)果類型,各自作用簡介如下:dispatcher: 將請求轉(zhuǎn)發(fā)(forward)到本應(yīng)用程序中指定的資源(jsp 或Servlet)chain: Action 鏈式處理,將請求轉(zhuǎn)發(fā)(forward)到指定的Actionredirect: 請求重定向到指定的 URL(頁面或者Action)redirectAction: 請求重定向到指定的Actionjson:實現(xiàn)Ajax 時返回JSON 對象freemarker:處理FreeMarker 模板httpheader:控制特殊HTTP 行為的結(jié)果類型stream:像瀏覽器發(fā)送InputStream 對象,通常用來處理文件下載,還可用于返回Ajax數(shù)據(jù)velocity:處理Velocity 模板xslt:處理xml/XLST 模板plainText:顯示原始文件內(nèi)容,例如文件源代碼

package com.pb.web.action;import com.opensymphony.xwork2.ActionSupport;import com.pb.entity.User;/* * 登錄響應(yīng)action 以javaBean方式接收用戶登錄輸入的用戶名和密碼 */public class LoginAction extends ActionSupport {    PRivate static final long serialVersionUID = 1L;    //實例化對象    private User user;    //要有execute方法public String execute(){    return SUCCESS;}public String login(){    if(user.getUserName().equals("accp") && user.getPassWord().equals("accp")){        return SUCCESS;    }else{        return INPUT;    }}    public User getUser() {    return user;}public void setUser(User user) {    this.user = user;}}
 <constant name="struts.enable.DynamicMethodInvocation" value="false" />    <constant name="struts.devMode" value="true" />            <package name="default" namespace="/" extends="struts-default">        <action name="login" class="com.pb.web.action.LoginAction" method="login">    <result name="success" type="redirect">    /loginSuccess.jsp    </result>    <result name="input" type="dispatcher">    /login.jsp    </result>    </action>
<package name="user" namespace="/user" extends="struts-default"><action name="login" class="com.pb.web.action.UserAction"><result type="chain"><param name="actionName"> houseAction </param><param name="namespace"> / house </param></result></action></package><package name="house" namespace="/house" extends="struts-default"><action name=" houseAction " class="com.pb.web.action.HouseAction"><result>/houseSuccess.jsp</result></action></package>

四、全局結(jié)果

package com.pb.web.action;import com.opensymphony.xwork2.ActionSupport;public class HourseAction extends ActionSupport {    /**     *      */    private static final long serialVersionUID = 1L;    public String add(){        System.out.println("執(zhí)行添加操作!");    try{            if(1==1){        //調(diào)用service的方法            throw new Exception();        }    }catch (Exception e){        e.printStackTrace();        return ERROR;    }            return "success";    }    public String update(){        System.out.println("執(zhí)行更新操作!");        try{                if(1==1){            //調(diào)用service的方法                throw new Exception();            }        }catch (Exception e){            e.printStackTrace();            return ERROR;        }        return "success";    }    public String delete(){        System.out.println("執(zhí)行刪除操作!");        try{                if(1==1){            //調(diào)用service的方法                throw new Exception();            }        }catch (Exception e){            e.printStackTrace();            return ERROR;        }        return "success";    }    }
 <global-results>    <result name="error">/error.jsp</result>    </global-results><!-- <action name="hourse_*" class="com.pb.web.action.HourseAction" method="{1}">    <result name="success" type="dispatcher">    {1}success.jsp    </result>    </action> -->    <action name="hourse_add" class="com.pb.web.action.HourseAction" method="add">    <result name="success" type="dispatcher">    /loginSuccess.jsp    </result>    </action>    <action name="hourse_update" class="com.pb.web.action.HourseAction" method="update">    <result name="success" type="dispatcher">    /loginSuccess.jsp    </result>    </action>    <action name="hourse_delete" class="com.pb.web.action.HourseAction" method="delete">    <result name="success" type="dispatcher">    /loginSuccess.jsp    </result>    <result name="error">/error1.jsp</result>    </action>    </package>

五、動態(tài)結(jié)果

<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>登錄頁面</title></head><body><form action="user/login.action" method="post"><table><tr><td>用戶名:</td><!--這里的name要和提交的地址中聲明的實體類.屬性來用  --><td><input type="text" name="user.username" /></td></tr><tr><td>密碼:</td><!--這里的name要和提交的地址中聲明的實體類.屬性來用  --><td><input type="password" name="user.password" /></td></tr><tr><td><input type="submit" value="登錄" /></td><td><input type="reset" value="重置" /></td></tr></table></form></body></html>
<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ taglib prefix="s" uri="/struts-tags" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>管理員用戶頁面</title></head><body>管理員用戶頁面</body></html>
<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ taglib prefix="s" uri="/struts-tags" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>普通用戶</title></head><body>普通用戶頁面</body></html>

User實體類

package com.pb.enity;public class User {        private String username;    private String password;    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }            }

UserAction

package com.pb.web.action;import com.opensymphony.xwork2.ActionSupport;import com.pb.enity.User;public class UserAction extends ActionSupport {    private static final long serialVersionUID = 1L;    private User user;    //下一個中轉(zhuǎn)的Action    private String nextDispose;    public User getUser() {        return user;    }    public void setUser(User user) {        this.user = user;    }    public String getNextDispose() {        return nextDispose;    }    public void setNextDispose(String nextDispose) {        this.nextDispose = nextDispose;    }    public String login(){        //用戶是admin就轉(zhuǎn)到adminAction        if(user.getUsername().equals("admin") && user.getPassword().equals("admin")){            nextDispose="admin";            return SUCCESS;            //用戶是admin就轉(zhuǎn)到commonAction        }else if(user.getUsername().equals("common") && user.getPassword().equals("common")){            nextDispose="common";            return SUCCESS;            //其它就跳轉(zhuǎn)到登錄頁面        }else{            return INPUT;        }    }            }

CommonAction

package com.pb.web.action;import com.opensymphony.xwork2.ActionSupport;public class CommonAction extends ActionSupport {    /**     *      */    private static final long serialVersionUID = 1L;    @Override    public String execute() throws Exception {                return SUCCESS;    }}

AdminAction

package com.pb.web.action;import com.opensymphony.xwork2.ActionSupport;public class AdminAction extends ActionSupport {    /**     *      */    private static final long serialVersionUID = 1L;    @Override    public String execute() throws Exception {        // TODO Auto-generated method stub        return SUCCESS;    }}

struts.xml

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"    "http://struts.apache.org/dtds/struts-2.3.dtd"><struts>    <constant name="struts.enable.DynamicMethodInvocation" value="false" />    <constant name="struts.devMode" value="true" />    <!-- Add packages here -->    <package name="user" namespace="/user" extends="struts-default">    <action name="login" class="com.pb.web.action.UserAction" method="login">    <!-- 通過${}取出在UserAciton中定義的變量對應(yīng)下面的action name -->    <result name="success" type="redirectAction">${nextDispose}</result>    <result name="input">/login.jsp</result>    </action>    <action name="admin" class="com.pb.web.action.AdminAction">    <result name="success">/admin.jsp</result>    </action>     <action name="common" class="com.pb.web.action.CommonAction">    <result name="success">/common.jsp</result>    </action>    </package></struts>


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 东辽县| 昌平区| 林州市| 南昌县| 富锦市| 罗定市| 沐川县| 清原| 措美县| 枣庄市| 界首市| 新乡市| 武平县| 萍乡市| 社会| 贵德县| 新田县| 大方县| 涟水县| 根河市| 巴塘县| 南华县| 鄱阳县| 昆明市| 碌曲县| 永安市| 昌图县| 江西省| 东乡县| 松江区| 辽宁省| 东平县| 微山县| 阳城县| 泗水县| 重庆市| 南康市| 旺苍县| 云南省| 鹤壁市| 荥经县|