天天看点

struts中采用注解配置Action

需要导入struts2-convention-plugin的jar包

action

省略getters和setters

@parentpackage("xystruts-default")

@namespace("/login")

public class loginaction extends baseaction

{

 private string verifycode;

 @action(value = "login", results = { @result(location = "/pages/main.jsp"), @result(name = "login", location = "/pages/login.jsp") })

 public string login()

 {

  string sysverifycode = (string) getsession().get("verifycode");

  if (stringhelper.isempty(verifycode) || !sysverifycode.equalsignorecase(verifycode))

  {

   addactionerror("验证码错误");

   return "login";

  }

  return "success";

 }

 @action(value = "logout", results = { @result(location = "/pages/login.jsp") })

 public string logout()

  map session = getsession();

  if (session != null)

   session.clear();

}

jsp

<form action="login/login.action"></form>

<a href="login/logout.action">登出</a>

其中result注解中name属性为空,表示默认为"success"

常用注解如下

namespace:指定命名空间

parentpackage:指定父包

result:提供了action结果的映射(一个结果的映射)

results:result注解列表

resultpath:指定结果页面的基路径

action:指定action的访问url

actions:action注解列表

exceptionmapping:指定异常映射(映射一个声明异常)

exceptionmappings:一级声明异常的数组

interceptorref:拦截器引用

interceptorrefs:拦截器引用组