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

相关文章
|
编解码
通信原理期末复习——基础小题汇总(二)
通信原理期末复习——基础小题汇总(二)
546 0
通信原理期末复习——基础小题汇总(二)
|
存储 Docker 容器
Docker安装默认存储路径修改与镜像恢复
Docker安装默认存储路径修改与镜像恢复
534 0
|
索引 Python
Python 教程之 Pandas(10)—— 访问 series 的元素
Python 教程之 Pandas(10)—— 访问 series 的元素
306 0
Python 教程之 Pandas(10)—— 访问 series 的元素
|
SQL 安全 关系型数据库
MySQL数据库中的增删查改(MySQL最核心,工作中最常用的部分)
MySQL数据库中的增删查改(MySQL最核心,工作中最常用的部分)
1403 0
|
JSON API 开发者
淘宝商品销量数据接口:获取与利用全攻略
淘宝商品销量数据接口让开发者获取平台上商品的销量信息。首先,需在开放平台注册并创建应用;随后获取API密钥(appkey与appsecret),用于身份验证。参考官方文档了解接口详情,通过HTTP请求调用接口并设置参数如商品ID。接口返回JSON格式数据,需用编程语言解析提取销量数据。示例代码展示了如何使用Python和requests库调用接口及打印结果。使用时应遵守规定,避免违规行为,并关注接口更新。若无开发能力,可选用第三方服务但需谨慎评估。
1043 0
|
Prometheus Kubernetes 监控
Kubernetes(K8S) 监控 Prometheus + Grafana
Kubernetes(K8S) 监控 Prometheus + Grafana
675 2
|
JavaScript 前端开发 算法
在JavaScript中,AABB矩形碰撞检测常用于2D游戏
【6月更文挑战第16天】在JavaScript中,AABB矩形碰撞检测常用于2D游戏。通过创建`Rectangle`类并定义`collidesWith`方法检查边界交集,简单高效地判断两个矩形是否相撞。
259 5
|
运维 监控 负载均衡
什么是系统可用性?如何提升可用性?
本文探讨了系统可用性的概念、计算方法及其重要性。可用性指系统能在预定时间内正常运行的比例,计算公式为:(运行时间)/(运行时间+停机时间)。文章列举了不同级别的可用性对应的停机时间,并介绍了提升系统可用性的多种策略,包括冗余设计、故障检测与自动恢复、数据备份与恢复、负载均衡、容错设计、定期维护与更新及使用高可用性云服务和网络优化。这些措施有助于构建更加稳定可靠的系统。
2189 0
|
监控 Oracle 关系型数据库
Flink CDC 系列 - 实时抽取 Oracle 数据,排雷和调优实践
分享对 Oracle 的实时数据捕获以及性能调优过程中的一些关键细节。
Flink CDC 系列 - 实时抽取 Oracle 数据,排雷和调优实践
|
Shell
【高数定积分求解旋转体体积】 —— (上)高等数学|定积分|柱壳法|学习技巧
【高数定积分求解旋转体体积】 —— (上)高等数学|定积分|柱壳法|学习技巧
513 0