第一次写文章,写写我最近学的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>
就这么多了~有不对的地方请指正~