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

 

 

目录
相关文章
|
人工智能 监控 算法
【AI 现况分析】AI 应用导致的隐私问题分析
【1月更文挑战第27天】【AI 现况分析】AI 应用导致的隐私问题分析
|
算法 API C++
【Qt UI】QT 窗口/控件置顶方法详解
【Qt UI】QT 窗口/控件置顶方法详解
1076 0
|
安全 网络安全 开发者
网站跳转到反诈中心该怎么处理解封恢复正常访问
作为一个网站开发者,我曾经经历了这样的情况:我建设的公司网站被标识为恶意网站,被拦截了。通过调查,我发现这是因为反诈中心下发了拦截令。这种拦截方法为网站域名拦截,即由最高部门下发到各地防诈中心和运营商进行拦截。如果用户打开这样的网站,将会出现解析错误,无法访问。总的来说,网站域名拦截是一种阻断诈骗网站的有效手段,但是在实际操作中也需要更加严格的审核,以防止出现误判的情况。我认为,反诈工作是需要不断提高的,同时也需要更加完善的机制和法律支持。
7735 0
网站跳转到反诈中心该怎么处理解封恢复正常访问
|
SQL 关系型数据库 MySQL
阿里云MySQL数据库价格、购买、创建账号密码和连接数据库教程
阿里云数据库使用指南:购买MySQL、SQL Server等RDS实例,选择配置和地区,完成支付。创建数据库和账号,设置权限。通过DMS登录数据库,使用账号密码访问。同地域VPC内的ECS需将IP加入白名单以实现内网连接。参考链接提供详细步骤。
1435 3
|
8月前
|
供应链 API 开发者
解锁电商数据的无限可能:探秘京东商品SKU信息API接口
京东商品SKU信息API接口是电商开发与运营中的重要工具,帮助开发者获取商品的详细属性,如库存、价格、规格等。通过该接口,电商平台可以丰富商品展示页面,提升用户体验;商家能实时掌握库存动态,优化销售策略;数据分析人员可深入洞察市场趋势,实现精准营销。使用前需注册京东开放平台账号、创建应用并获取API权限,同时仔细阅读API文档以确保正确调用。代码示例展示了如何用Python调用该接口,并处理返回数据。未来,该接口将在个性化推荐、智能库存管理和数据分析等领域发挥更大作用,助力电商业务创新与发展。
434 14
|
8月前
|
关系型数据库 分布式数据库 数据库
瑶池数据库大讲堂|PolarDB HTAP:为在线业务插上实时分析的翅膀
瑶池数据库大讲堂介绍PolarDB HTAP,为在线业务提供实时分析能力。内容涵盖MySQL在线业务的分析需求与现有解决方案、PolarDB HTAP架构优化、针对分析型负载的优化(如向量化执行、多核并行处理)及近期性能改进和用户体验提升。通过这些优化,PolarDB HTAP实现了高效的数据处理和查询加速,帮助用户更好地应对复杂业务场景。
278 4
|
12月前
|
机器学习/深度学习 人工智能 搜索推荐
探究人工智能在医疗健康中的应用与挑战
本文深入探讨了人工智能(AI)在医疗健康领域中的应用及其所面临的挑战。随着科技的不断进步,AI技术在医疗领域的应用日益广泛,从疾病诊断、治疗方案制定到患者护理等方面都展现出巨大的潜力。然而,尽管AI在医疗健康领域取得了显著成果,但也面临着数据隐私、算法偏见和伦理道德等方面的挑战。本文将详细介绍这些应用和挑战,并探讨可能的解决方案,以期为读者提供对AI在医疗健康领域发展的全面理解。
|
8月前
|
存储 前端开发 Java
SpringBoot整合Flowable【05】- 使用流程变量传递业务数据
本文介绍了如何使用Flowable的流程变量来管理绩效流程中的自定义数据。首先回顾了之前的简单绩效流程,指出现有流程缺乏分数输入和保存步骤。接着详细解释了流程变量的定义、分类(运行时变量和历史变量)及类型。通过具体代码示例展示了如何在绩效流程中插入全局和局部流程变量,实现各节点打分并维护分数的功能。最后总结了流程变量的使用场景及其在实际业务中的灵活性,并承诺将持续更新Flowable系列文章,帮助读者更好地理解和应用Flowable。 简要来说,本文通过实例讲解了如何利用Flowable的流程变量功能优化绩效评估流程,确保每个环节都能记录和更新分数,同时提供了全局和局部变量的对比和使用方法。
685 0
SpringBoot整合Flowable【05】- 使用流程变量传递业务数据
单模、多模能混合使用吗?这篇给您讲明白!
单模、多模能混合使用吗?这篇给您讲明白!
297 5
|
NoSQL Java Redis
Redis字符串数据类型之INCR命令,通常用于统计网站访问量,文章访问量,实现分布式锁
这篇文章详细解释了Redis的INCR命令,它用于将键的值增加1,通常用于统计网站访问量、文章访问量,以及实现分布式锁,同时提供了Java代码示例和分布式锁的实现思路。
433 0