当前位置: 首页 > news >正文

【Struts2学习笔记(1)】Struts2中Action名称的搜索顺序和多个Action共享一个视图--全局result配置


一、Action名称的搜索顺序

1.获得请求路径的URI,例如url是:http://server/struts2/path1/path2/path3/test.action


2.首先寻找namespace为/path1/path2/path3的package,如果不存在这个package则执行步骤3;如果存在这个package,则在这个package中寻找名字为test的action,当在该package下寻找不到action 时就会直接跑到默认namaspace的package里面去寻找action(默认的命名空间为空字符串“” ) ,如果在默认namaspace的package里面还寻找不到该action,页面提示找不到action 


3.寻找namespace为/path1/path2的package,如果不存在这个package,则转至步骤4;如果存在这个package,则在这个package中寻找名字为test的action,当在该package中寻找不到action 时就会直接跑到默认namaspace的package里面去找名字为test的action ,在默认namaspace的package里面还寻找不到该action,页面提示找不到action 


4.寻找namespace为/path1的package,如果不存在这个package则执行步骤5;如果存在这个package,则在这个package中寻找名字为test的action,当在该package中寻找不到action 时就会直接跑到默认namaspace的package里面去找名字为test的action ,在默认namaspace的package里面还寻找不到该action,页面提示找不到action 


5.寻找namespace为/的package,如果存在这个package,则在这个package中寻找名字为test的action,当在package中寻找不到action或者不存在这个package时,都会去默认namaspace的package里面寻找action,如果还是找不到,页面提示找不到action。


二、多个Action共享一个视图--全局result配置

当多个action中都使用到了相同视图,这时我们应该把result定义为全局视图。struts1中提供了全局forward,struts2中也提供了相似功能:

<package ....>
	<global-results>
		<result name="message">/message.jsp</result>
	</global-results>
</package>



相关文章:

  • 【Struts2学习笔记(2)】Action配置中的各项默认值和Action中result的各种转发类型
  • Maven POM.xml (转)
  • 【Struts2学习笔记(3)】为Action的属性注入值
  • Swift - 使用atlas图集实现动画效果(SpriteKit游戏开发)
  • 【Struts2学习笔记(4)】指定需要Struts 2处理的请求后缀和细说常量定义
  • Java学习之路:ArrayList用法
  • 【Struts2学习笔记(5)】Struts2的处理流程及工作原理
  • 【Struts2学习笔记(6)】Action动态方法调用
  • 【LINUX】主进程、父进程、子进程、守护进程的概念
  • 【Struts2学习笔记(7)】类型转换器的两种方法
  • Swift - 使用MapKit显示地图,并在地图上做标记
  • 【Struts2学习笔记(8)】访问或添加request/session/application属性获取HttpServletRequest / HttpSession / ServletContex
  • ehcache.xml详解
  • 【Struts2学习笔记(9)】单文件上传和多文件上传
  • 如何更改Java默认的花括号对齐方式
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • AngularJS指令开发(1)——参数详解
  • HTTP那些事
  • Javascript Math对象和Date对象常用方法详解
  • oschina
  • SpingCloudBus整合RabbitMQ
  • 分享几个不错的工具
  • 关于 Cirru Editor 存储格式
  • 简单易用的leetcode开发测试工具(npm)
  • 蓝海存储开关机注意事项总结
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 实现简单的正则表达式引擎
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 数据仓库的几种建模方法
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • MPAndroidChart 教程:Y轴 YAxis
  • zabbix3.2监控linux磁盘IO
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • ​ubuntu下安装kvm虚拟机
  • ​低代码平台的核心价值与优势
  • !!java web学习笔记(一到五)
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (HAL库版)freeRTOS移植STMF103
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (办公)springboot配置aop处理请求.
  • (简单) HDU 2612 Find a way,BFS。
  • (九)信息融合方式简介
  • .form文件_一篇文章学会文件上传
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • .NET/C# 使用反射调用含 ref 或 out 参数的方法
  • .net专家(高海东的专栏)
  • .pyc文件还原.py文件_Python什么情况下会生成pyc文件?
  • @31省区市高考时间表来了,祝考试成功
  • @Async注解的坑,小心
  • @Autowired和@Resource装配
  • [AIGC] Spring Interceptor 拦截器详解
  • [Asp.net MVC]Bundle合并,压缩js、css文件