struts2配置文件详解(一)

struts.xml的常用配置




    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    





    
    
    
    
    
    
        
            
            
            
            
            
                
                
            
        
        
        
        
        
   
        
        
            /error.jsp
        
        
        
        
            
            
        
            
         /talk.jsp
         
         http://www.sina.com
        
    

一个Action内包含多个请求处理方法的处理Struts1提供了DispatchAction,从而允许一个Action内包含多个请求处理方法。

Struts2也提供了类似的功能。处理方式主要有以下三种方式:

  1. 1 动态方法调用:

DMI:Dynamic Method Invocation 动态方法调用。 动态方法调用是指:表单元素的action不直接等于某个Action的名字,而是以感叹号后加方法名来指定对应的动作名:


        

则用户的请求将提交到名为”computeAction”的Action实例,Action实例将调用名为”add”方法来处理请求。   当指定调用某一方法来处理请求时,就不会走默认执行处理请求的execute()方法。   注意:要使用动态方法调用,必须设置Struts2允许动态方法调用,通过设置struts.enable.DynamicMethodInvocation常量来完成,该常量属性的默认值是true。


    
    

示列:简单的一个加法和减法例子。

1. index.jsp用户在页面输入两个数字,选择相加,或者相减当用户点击加或减需要走同一个Action但处理请求方法不同,这里使用了js动态选择。


    
        
            num1:
            num2:
            
            
          
  

2. struts.xml配置信息,启用动态方法调用(可选)




    
    
    
        
            /fruit.jsp
        
    

3. ComputeAction控制器的类处理请求

public class ComputeAction {
    /** 属性 */
    private int num1;
    private int num2;
    private int fruit;//结果
    /** 若请求为指定操作方法默认执行execute()方法 */
    public String execute(){
        System.out.println("当调用其它方法就不会走这个方法!");
        return "";
    }
    /** 执行处理加法 */
    public String add(){
        this.fruit=num1+num2;//加
        return "fruitPage";
    }/** 执行处理减法 */
    public String subtract(){
        this.fruit=num1-num2;//减
        return "fruitPage";
    }
  /
}

你可能感兴趣的:(struts2配置文件详解(一))