Struts2.0和2.1的零配置的区别

第一次写文章,写写我最近学的struts2的零配置吧~


最大的区别就是Struts2.1.6以后开始使用convention-plugin代替codebehind-plugin来实现struts的零配置,所以要额外引入struts2-convention-plugin-2.1.8.1.jar这个jar

 

 想起来还有一个不同,2.0要在web.xml中写一段配置,写2.1的时候我没在web.xml写相关配置,也能实现零配置 

  有关属性我主要试了两个,Result和Action

 

Result  

1> 2.0的value属性变成了2.1的location

2> type属性在2.1里必须要写成字符串类型的

例子是这样的

@Result(

       name="success",

       location="/suc.jsp",//2.0为value属性

       type="org.apache.struts2.dispatcher.ServletRedirectResult.class"//2.0没有引号

)

 

 

 

Action (action的其他用法希望知道的人能分享一下~)

1>2.1以前没有此属性,这个方法可以把一个action映射多个路径

2>使用方法

@Action(value="addUser",results={
      @Result(name="success",location="/addSuc.jsp")
    })


   例子是这样的

 

import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.Result;
import com.opensymphony.xwork2.ActionSupport;

@Namespace("/user")//这里测试了一下命名空间,和以前一样


public class UserAction extends ActionSupport {


    @Action(value = "addUser", results = { @Result(name = "success",

location = "/addSuc.jsp",

type = "org.apache.struts2.dispatcher.ServletRedirectResult.class") }//这里测试了一下 Redirect的客户端跳转方式

)
    public String add() throws Exception {
        System.out.println("add方法被调用");
        return SUCCESS;
    }

    @Action(value = "delUser", results = { @Result(name = "success", location = "/delSuc.jsp") })
    public String del() throws Exception {
        System.out.println("del方法被调用");
        return SUCCESS;
    }

    @Action(value = "modifyUser", results = { @Result(name = "success", location = "/modifySuc.jsp") })
    public String modify() throws Exception {
        System.out.println("modify方法被调用");
        return SUCCESS;
    }

    @Action(value = "queryUser", results = { @Result(name = "success", location = "/querySuc.jsp") })
    public String query() throws Exception {
        System.out.println("query方法被调用");
        return SUCCESS;
    }

}


jsp调用

 

  <a href="user/addUser.action">添加</a>
    <a href="uesr/delUser.action">删除</a>
    <a href="user/modifyUser.action">修改</a>
    <a href="user/queryUser.action">查询</a>

 

 


就这么多了~有不对的地方请指正~

 

你可能感兴趣的:(struts2)