struts中采用注解配置Action

简介:

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();
  return "success";
 }

}

 

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:拦截器引用组

本文转自IT徐胖子的专栏博客51CTO博客,原文链接http://blog.51cto.com/woshixy/1055200如需转载请自行联系原作者


woshixuye111

相关文章
|
存储 算法 数据可视化
Qt开发技术:Qt绘图系统(二)QPainter详解
Qt开发技术:Qt绘图系统(二)QPainter详解
Qt开发技术:Qt绘图系统(二)QPainter详解
|
机器学习/深度学习 计算机视觉
YOLOv11改进策略【注意力机制篇】| 2023 MCAttention 多尺度交叉轴注意力 获取多尺度特征和全局上下文信息
YOLOv11改进策略【注意力机制篇】| 2023 MCAttention 多尺度交叉轴注意力 获取多尺度特征和全局上下文信息
586 1
YOLOv11改进策略【注意力机制篇】| 2023 MCAttention 多尺度交叉轴注意力 获取多尺度特征和全局上下文信息
|
域名解析 缓存 网络协议
公司网站打开错误怎么回事
公司网站打开错误怎么回事
|
前端开发 Android开发 开发者
前端框架趋势:React Native在跨平台开发中的优势与挑战
【10月更文挑战第26天】近年来,React Native凭借其跨平台开发能力在移动应用开发领域迅速崛起。本文将探讨React Native的优势与挑战,并通过示例代码展示其应用实践。React Native允许开发者使用同一套代码库同时构建iOS和Android应用,提高开发效率,降低维护成本。它具备接近原生应用的性能和用户体验,但也面临平台差异、原生功能支持和第三方库兼容性等挑战。
490 0
linux之centos安装dataease数据报表工具
linux之centos安装dataease数据报表工具
|
存储 监控 安全
IDaaS(身份即服务)的潜在风险
【8月更文挑战第31天】
354 0
|
Windows
【Windows】windows10 时间显示秒数
【Windows】windows10 时间显示秒数
821 0
【Windows】windows10 时间显示秒数
|
存储 Prometheus 运维
最强性能监控工具之Grafana+Prometheus+Exporters
有测试工具、监控工具,才能做性能分析和瓶颈定位。 不管数据啥形式展示,最要紧还是数据来源和含义,以做正确判断。
946 0
|
存储 容灾 定位技术
阿里异地多活架构新突破:库存单元化部署技术思路揭秘(1)
阿里异地多活架构新突破:库存单元化部署技术思路揭秘
2175 0
|
存储 Java 编译器
【Android 构建新工具】Bazel 构建Android项目
Bazel只是编译工具,不是真正的编译器,所以还是需要Andorid开发的SD、NDK以及Android Studio,并配置开发环境。
947 0