struts2 action的使用

一、action的三种编写方式

1、普通类,不继承任何类,不实现任何接口
package cn.doudou.action;

public class HelloAction {
    public String show(){
        return "success";
    }
}
2、实现action接口
package cn.doudou.action;

import com.opensymphony.xwork2.Action;

public class HelloAction1 implements Action {

    @Override
    public String execute() throws Exception {
        
        return SUCCESS;
    }
}
3、继承ActionSupport(一般使用)
package cn.doudou.action;

import com.opensymphony.xwork2.ActionSupport;

public class HelloAction2 extends ActionSupport{
    @Override
    public String execute() throws Exception {
        // TODO Auto-generated method stub
        return SUCCESS;
    }
}

二、访问action的方法(重点)

1、有三种方法实现
第一种:使用action标签的method属性,这个属性里面写执行action的方法名

HelloAction.java

package cn.doudou.action;

import com.opensymphony.xwork2.ActionSupport;

public class HelloAction2 extends ActionSupport{
    @Override
    public String execute() throws Exception {
        // TODO Auto-generated method stub
        System.out.println("success");
        return NONE;
    }
    public String add(){
        System.out.println("add----------");
        return NONE;
    }
    public String update(){
        System.out.println("update--------");
        return NONE;
    }
}

配置文件




    
    
        
            
            
            
            
        

struts2 action的使用_第1张图片
image.png

缺陷:action每个方法都要配置,放太多麻烦

第二种:使用通配符方式实现

(1)在action标签里面name属性,name属性里面写符号 * 星号
(2)* 表示匹配任意内容

  • 比如访问add,*可以匹配到
  • 比如访问update,*也可以匹配到

(3)通配符的匹配过程


struts2 action的使用_第2张图片
image.png

(4)通匹配符案例实现
action编写

package cn.doudou.action;

import com.opensymphony.xwork2.ActionSupport;

public class HelloAction2 extends ActionSupport{
    @Override
    public String execute() throws Exception {
        // TODO Auto-generated method stub
        System.out.println("success");
        return NONE;
    }
    public String add(){
        System.out.println("add----------");
        return NONE;
    }
    public String update(){
        System.out.println("update--------");
        return NONE;
    }
}

主页


struts2 action的使用_第3张图片
image.png

配置代码




    
    
            
            
                
                
            

访问结果


struts2 action的使用_第4张图片
image.png
第三种:动态访问实现(一般不用)
2、错误演示

(1)如果action有返回值,在配置文件中没有配置或者配置错误


struts2 action的使用_第5张图片
image.png
image.png
struts2 action的使用_第6张图片
image.png

(2)action里面有返回值返,返回值必须为String
(3)action里头的方法可以没有返回值,在result不需要配置

  • 把方法写成void(不推荐)
  • 把返回值写成none
package cn.doudou.action;

import com.opensymphony.xwork2.ActionSupport;

public class HelloAction2 extends ActionSupport{
    @Override
    public String execute() throws Exception {
        // TODO Auto-generated method stub
        System.out.println("success");
        return NONE;
    }
}
image.png

页面不报错控制台有输出


struts2 action的使用_第7张图片
image.png

image.png

你可能感兴趣的:(struts2 action的使用)