zoukankan      html  css  js  c++  java
  • 3.Struts2配置文件标签介绍

    Struts2的很多核心功能都是由拦截器实现的。
    struts-default.xml中定义了这些拦截器与Result类型。
    所以,不继承struts-default包,Struts2提供的很多核心功能是无法使用的。
    1、package标签
    配置包时必须指定name属性,该属性值可以任意取名,但必须唯一。
    其与Java的类包间无对应关系。若其他包要继承该包,则必须通过该属性进行引用。
    包的namespace属性用于定义该包的命名空间。
    命名空间是访问该包下Action的路径的一部分。
    此属性可以不配置。若不配置,则默认的命名空间为“”(空字符串)。
    2、action标签
    在struts2中,访问struts2中的action的URL路径由两部份组成:
    包的命名空间+action的名称,
    例如访问上篇文章例子中名为helloworld的Action的URL路径为:/test/bbbb 。
    注意:
    如果没有为action指定class,默认是ActionSupport。
    而ActionSupport的execute() 方法的默认处理就是返回一个“success”字符串。
    method属性用于指定执行action中的那个方法,
    若没有指定,则默认值为“execute”,即执行指定action的execute方法。
    3、result标签
    result标签用于指定视图,name属性指定该视图的名称.
    如果没有指定name属性,默认值为SUCCESS (常量SUCCESS的值为字符串常量“success”)。

    在上一篇文章 2.第一个Struts2程序-HelloWorld程序中,

    struts.xml配置如下:

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
    
    <struts>
                  <package name="aaaa" namespace="/test" extends="struts-default">
                  <action name="bbbb" class="actions.HelloWordAction">
                             <result>/welcome.jsp</result>
                  </action>
                  </package>
    
    </struts>

    HelloWordAction.java代码如下

    package actions;
    
    public class HelloWordAction {
        
        public String execute(){
            
            System.out.println("I am HelloWordAction.java");
            return "success";
        }
    
    }

    如果想修改HelloWordAction.java为:

    package actions;
    
    
    public class HelloWordAction {
        
        public String some(){
            
            System.out.println("I am HelloWordAction.java");
            return "other";
        }
    
    }

    那么必须要修改struts.xml文件配置如下:

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
    
    <struts>
                  <package name="aaaa" namespace="/test" extends="struts-default">
                  <action name="bbbb" class="actions.HelloWordAction" method="some">
                             <result name="other">/welcome.jsp</result>
                  </action>
                  </package>
    
    </struts>

  • 相关阅读:
    git merge 和 git rebase 的使用场景
    Xcode 报错:解决 Could not attach to pid : "xx" 不重开工程的杀手锏
    软件设计模式的7条原则
    iOS开发信号量的使用
    利用SAMKeyChain生成唯一设备号
    iOS Fundation和CoreFoundation的对象转换内存管理权问题
    已有的PHP安装gd扩展
    centos7 编译安装 php7.4
    Nacos集群模式部署步骤
    搭建 Apache RocketMQ 单机环境
  • 原文地址:https://www.cnblogs.com/xingyunblog/p/4006495.html
Copyright © 2011-2022 走看看