config包之ForwardConfig浅析

原创 2007年09月24日 11:38:00

 org.apache.struts.config.ForwardConfig浅析

struts-config.xml文件中每一个<froward>元素对应着一个org.apache.struts.config.ActionForward。ActionForward继承自ForwardConfig
<global-forward>元素用来声明全局的转发关系,它由零个或多个<forward>元素组成,<forward>元素用于把一个逻辑名影射到特定的URL,通过这种方式,Action类或者JSP文件无需指定实际的URL,只要指定逻辑名就能实现请求转发或者重定向。在<global-forwards>中定义的<forward>代表全局转发
<forward>元素中的className是指定和<forward>元素对应的配置类,默认值为org.apache.struts.action.ActionForward。
<forward>元素中的contextRelative项值为true,表示当path属性一"/"开头时,给出的是相对于当前上下文的URL。此项的默认值为false,它在org.apache.struts.config.forwardConfig中对应的属性为boolean contextRelative。
<forward>元素中的name是转发路径的逻辑名。此项是必须的,它在org.apache.struts.config.forwardConfig对应的属性为String name。
<forward>元素中的path指定转发或重定向的URI。此项是必须的,必须以"/"开头。当contextRelative属性为false时,表示URI路径相对于当前应用(application-relative);当contextRelative属性为true时,表示URI路径相对于当前上下文(context-relative),它在org.apache.struts.config.forwardConfig中对应的属性为String path。
<forward>元素中的redirect项为true时,表示执行重定向操作;当此项为false时,表示执行请求转发操作。此项默认为false。它在org.apache.struts.config.forwardConfig中对应的属性为boolean redirect。

以上<forward>元素中的各属性在forwardConfig中都有对应的get和set方法

类中方法解析
public class ForwardConfig implements Serializable {

    public ForwardConfig() {
        super();
    }

    public ForwardConfig(String name, String path, boolean redirect) {
        super();
        setName(name);
        setPath(path);
        setRedirect(redirect);
    }

    public ForwardConfig(String name, String path, boolean redirect,
                         boolean contextRelative) {
        super();
        setName(name);
        setPath(path);
        setRedirect(redirect);
        setContextRelative(contextRelative);
    }

    public ForwardConfig(String name, String path, boolean redirect,
                         String module) {
        super();
        setName(name);
        setPath(path);
        setRedirect(redirect);
        setModule(module);
    }

    protected boolean configured = false;

    protected boolean contextRelative = false;

    public boolean getContextRelative() {
        return (this.contextRelative);
    }

    public void setContextRelative(boolean contextRelative) {
        if (configured) {
            throw new IllegalStateException("Configuration is frozen");
        }
        this.contextRelative = contextRelative;
    }

    protected String name = null;

    public String getName() {
        return (this.name);
    }

    public void setName(String name) {
        if (configured) {
            throw new IllegalStateException("Configuration is frozen");
        }
        this.name = name;
    }

    protected String path = null;

    public String getPath() {
        return (this.path);
    }

    public void setPath(String path) {
        if (configured) {
            throw new IllegalStateException("Configuration is frozen");
        }
        this.path = path;
    }

    protected String module = null;

    public String getModule() {
        return (this.module);
    }

    public void setModule(String module) {
        if (configured) {
            throw new IllegalStateException("Configuration is frozen");
        }
        this.module = module;
    }

    protected boolean redirect = false;

    public boolean getRedirect() {
        return (this.redirect);
    }

    public void setRedirect(boolean redirect) {
        if (configured) {
            throw new IllegalStateException("Configuration is frozen");
        }
        this.redirect = redirect;
    }

    public void freeze() {

        configured = true;

    }

    public String toString() {

        StringBuffer sb = new StringBuffer("ForwardConfig[");
        sb.append("name=");
        sb.append(this.name);
        sb.append(",path=");
        sb.append(this.path);
        sb.append(",redirect=");
        sb.append(this.redirect);
        sb.append(",contextRelative=");
        sb.append(this.contextRelative);
        sb.append(",module=");
        sb.append(this.module);
        sb.append("]");
        return (sb.toString());

    }
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

linux ./config 浅析

1.简介 Config不是一种bash,config语言是linux内核的一种配置语言,config.in文件是使用该语言编写而成,在通常情况下,它看起很像一个SH语言的子集。config配置语言主...

Spring4.3.x 浅析xml配置的解析过程(7)——解析context命名空间之annotation-config标签

概述Spring context命名空间有property-placeholder、property-override、annotation-config、component-scan、load-ti...

web.config主要配置浅析

1、 节 作用:配置ASP.NET身份验证支持(为Windows、Forms、PassPort、None四种)。该元素只能在计算机、站点或应用程序级别声明。 元素必需与 节配合使用。 示例: 特...

config/system 下载包

  • 2009-08-05 14:46
  • 3.16MB
  • 下载

config/system 下载包

  • 2011-08-15 09:37
  • 3.16MB
  • 下载

deb包安装condor的config方法

一、deb包安装condor方法 自己去下载condor-8.2.6-287355-ubuntu_14.04_amd64.deb。我还下载了一个libmpich2-3_1.4.1-4.2_amd64....

mujava 所需jar包和config文件

  • 2017-03-31 09:40
  • 2.51MB
  • 下载

[区块链]Hyperledger Fabric源代码(基于v1.0 beta版本)阅读之乐扣老师解读系列 (七)COMMON通用包之配置类型包config

对于本包的内容,我们大概分为参数配置类型及策略配置相关包、系统工具类型包、加解密相关的包以及其他包这样四块内容来讲解。 一,配置类型包,主要包含cauthdsl、config、configtx及pol...

pkg-config压缩包

  • 2012-07-18 15:13
  • 495KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)