struts2: include和global-results

告别GUI点点点:Formality形式化验证的TCL脚本自动化实战(附完整脚本) 本文详细介绍了如何通过TCL脚本实现Formality形式化验证的全流程自动化,显著提升验证效率并降低错误率。内容涵盖脚本框架解析、参数化设计、验证报告生成及团队协作策略,特别适合芯片设计工程师摆脱传统GUI操作,实现300%以上的效率提升。 阅读详情

先贴两段代码,在慢慢解释

(1)struts-user.xml

  1. <struts>
  2.     <package name="struts-user" extends="struts-default">
  3.         
  4.         <global-results>
  5.             <result type="redirect-action">UserAction_queryAll</result>
  6.         </global-results>
  7.         
  8.         <action name="UserAction_login" class="userAction" method="login"></action>
  9.         <action name="UserAction_insert" class="userAction" method="insert"></action>
  10.         <action name="UserAction_update" class="userAction" method="update"></action>
  11.         <action name="UserAction_delete" class="userAction" method="delete"></action>
  12.         <action name="UserAction_queryById" class="userAction" method="queryById"></action> 
  13.         <action name="UserAction_queryByLike" class="userAction" method="queryByLike"></action>
  14.         <action name="UserAction_queryAll" class="userAction" method="queryAll">
  15.             <result>/user/user_list.jsp</result>
  16.         </action>
  17.         
  18.     </package>
  19. </struts>

(2)struts.xml(引入了struts-user.xml)

  1. <struts>
  2.     <include file="struts-user.xml"></include>
  3.     <package name="struts" extends="struts-default"></package>
  4.     
  5. </struts>

1. 使用<include>标签重用配置文件

(1)在Struts2中提供了一个默认的struts.xml文件,但如果package、action、interceptors等配置比较多时,都放到一个struts.xml文件不太容易维护。因此,就需要将struts.xml文件分成多个配置文件,然后在struts.xml文件中使用<include>标签引用这些配置文件。如上面的代码。

注意:用<include>引用的xml文件也必须是完成的struts2的配置。实际上<include>在引用时是单独解析的xml文件,而不是将被引用的文件插入到struts.xml文件中。

注意:struts.xml和struts-user.xml中<package></package>标签中的name属性不能相同。道理很简单,<struts></struts>标签中可以有多个<package></package>标签,要通过name属性以示区别。

(2)Apache Struts 2 Documentation: Can we break up a large struts.xml file into smaller pieces --> Yes, there are two approaches. We can include other struts.xml file from a bootstrap, or we can package a struts.xml files in a JAR. Or both.

<1>By Include:A typical struts.xml files will have one or more include elements:

  1. <struts>
  2.     <include file="struts-default.xml"/>
  3.     <include file="config-browser.xml"/>
  4.     <package name="default" extends="struts-default">
  5.     ....
  6.     </package>
  7.     <include file="other.xml"/>
  8. </struts>

The first include element tells the framework to load the struts-default.xml, which it will find in the struts2.jar file. The struts-default.xml file defines the "standard" interceptor and result definitions. You can put your own <include> elements in your struts.xml interchangeably with <package> elements. The configuration objects will be loaded in the order of appearance. The framework reads the configuration from top to bottom and adds objects as they are referenced.

<2>By JAR

A "module" can be added to an application by placing a struts.xml and related classes into a JAR on the classpath. FreeMarker and Velocity templates can also be provided by JAR, making it possible to distribution a module in a single, self-contained JAR that is automatically configured on startup.

2. 全局result(global-results)

(1)有很多时候一个<result>可供很多<action>使用,这时可以使用<global-results>标签来定义全局的<result>,代码见struts-user.xml。执行顺序:当一个Action返回的String没有相应的<result>与之对应,Struts2就会查找全局的<result>。

(2)Apache Struts 2 Documentation: Global Results

Most often, results are nested with the action element. But some results apply to multiple actions. In a secure application, a client might try to access a page without being authorized, and many actions may need access to a "logon" result. If actions need to share results, a set of global results can be defined for each package. The framework will first look for a local result nested in the action. If a local match is not found, then the global results are checked.

  1. <!-- Defining global results -->
  2. <global-results>
  3.     <result name="error">/Error.jsp</result>
  4.     <result name="invalid.token">/Error.jsp</result>
  5.     <result name="login" type="redirectAction">Logon!input</result>
  6. </global-results>

3. <include>标签和<global-results>标签结合

(1)<global-results>标签的作用域只是当前<struts></struts>,也可以说是当前的xml文件;struts2不允许把struts-user.xml(通过<include>引入到struts.xml)中的<global-results>标签写在struts.xml中。

(2)如果struts-user.xml中的package继承自struts.xml中的package,则可以将struts-user.xml中的<global-results>放在struts.xml中。然后struts-user.xml将此<global-results>从struts.xml中继承过来。例如(将上面的两段代码简单修改):

(1)struts-user.xml

  1. <struts>
  2.     <!-- 这里struts-user继承(extends)的是struts, 即struts.xml中package的name属性值 -->
  3.     <package name="struts-user" extends="struts">
  4.         
  5.         <action name="UserAction_login" class="userAction" method="login"></action>
  6.         <action name="UserAction_insert" class="userAction" method="insert"></action>
  7.         <action name="UserAction_update" class="userAction" method="update"></action>
  8.         <action name="UserAction_delete" class="userAction" method="delete"></action>
  9.         <action name="UserAction_queryById" class="userAction" method="queryById"></action> 
  10.         <action name="UserAction_queryByLike" class="userAction" method="queryByLike"></action>
  11.         <action name="UserAction_queryAll" class="userAction" method="queryAll">
  12.             <result>/user/user_list.jsp</result>
  13.         </action>
  14.         
  15.     </package>
  16. </struts>

(2)struts.xml(引入了struts-user.xml)

  1. <struts>
  2.     <include file="struts-user.xml"></include>
  3.     <package name="struts" extends="struts-default">
  4.         <global-results>
  5.             <result type="redirect-action">UserAction_queryAll</result>
  6.         </global-results>
  7.     </package>
  8.     
  9. </struts>
SPICE框架:自博弈提升大语言模型推理能力 自博弈训练是提升大语言模型推理能力的前沿技术,其核心思想是通过模型自我对话实现持续迭代优化。SPICE框架创新性地采用文档驱动的自博弈机制,结合思维链提示和迭代式上下文扩展,显著提升模型在数学证明、逻辑推理等复杂任务中的表现。该技术在代码生成、金融分析等工程场景中展现出23%-41%的性能提升,其关键技术包括多样性控制、质量过滤和记忆管理。随着与RLAIF等强化学习方法的结合,这种训练范式正在推动大模型向更接近人类思维方式的推理能力进化。 阅读详情

相关推荐

SurfaceControlViewHost使用介绍

可以看到,主要用途:是把一个进程的View显示到另外一个进程里面。

chadm.xiang 1287

Struts2(七)global-results 和 extends 和动态结果集详解

一、global-results 解析:根据字面意思可以看出这个标签的作用,该标签的中文意译叫做”全局结果集“;当一个大的项目开发中,项目经理就安排任务成几个模块进行开发,其中有限页面是共同的,也就说Action返回的值是一样的,这样子的话就不用每个模块都进行相同的配置了,不仅仅体现出编码的整体性,也减少了代码的冗余性,这时候我们就可以定义一个共同的包来放置相同的配置了。 1、struts.x

西油骄子--Debug 2162

Wireshark实战解析IEC 61850 GOOSE报文:智能变电站通信调试指南

网络协议分析是理解现代工业通信系统的基础,其核心原理在于对数据包的捕获、解码与解析。在电力自动化领域,IEC 61850标准定义了智能变电站内设备间高效、可靠的通信框架,其中GOOSE(通用面向对象变电站事件)协议因其基于以太网多播和快速重传机制,成为保护跳闸、联锁等关键信号传输的基石,其技术价值在于实现了微秒级延迟的高可靠性通信。掌握GOOSE报文的分析能力,对于现场调试、故障定位及系统验证至关重要。本文聚焦于使用Wireshark这一网络分析工具,深入解析GOOSE报文结构,涵盖从以太网帧头、协议标识到

weixin_34401479的博客 376

Struts2 全局结果类型<global-results>

1、说明:       当很多提交请求跳转到相同的页面,这个时候,这个页面就可以成为全局的页面。在 struts2 中提供了全局页面的配置方法。 2、例子:     在  struts.xml 中 success.jsp 注意: * 这个配置必须写在action配置的上面。dtd约束的规定。 * 如果在action的result中的name属性也有success值,顺序为先局部后

快雪时晴天的专栏 2686

新手必看:5分钟搞定Unitree Go1机器狗Gazebo仿真运动控制(附按键图解)

本文为新手提供了Unitree Go1机器狗在Gazebo仿真环境中实现运动控制的快速指南。通过5分钟极简配置和按键图解,帮助开发者快速掌握宇树科技明星产品的基础操作,包括环境搭建、仿真启动和运动控制技巧,适合零基础用户快速上手。

weixin_42550597的博客 300

Voicebox本地部署:模型下载与离线模式实战指南

在本地语音处理场景中,模型下载失败和离线运行需求是开发者最常遇到的两大难题。理解语音工具的本地推理原理,关键在于掌握模型文件与程序逻辑的分离管理:模型独立下载,程序负责推理,输出留在本机。这种架构带来显著的技术价值——数据不出本地、不依赖公网、批量任务不中断。无论是语音识别转写、语音合成,还是集成到自动化脚本中,本地离线模式都能在隐私敏感或网络不稳定环境下稳定运行。对开发者而言,先解决模型文件的完整获取,再验证离线启动流程,就能绕过“无法下载模型”的常见坑。本文从环境准备、模型放置、服务启动到接口调用,提供

weixin_29048309的博客 310

struts2全局结果集global-results

2 3 4 5 6 7 /main.jsp 8 9 10 11 /index.jsp 12 13 14 15 /user_succe

执着,也是一种态度 604

[UE5蓝图基础二]1.[1d混合空间] 走和跑的动画切换(shift切换)

再双击”run”进去 我们需要给他指定一个动画姿势,这里就需要给他我们前面做的”1d”混合空间,然后可以看到”1d” 上有个speed参数,代表的速度 从前面的逻辑来看需要通过控制速度来切换动画,那么必然不能写死速度,把速度提升为变量传递进来即可,所以就得到以下蓝图节点。混合空间的概念:混合空间就是可以将角色多个动画混合在一起 ,我们创建动画类就是创建个”Animation”文件夹 在文件夹内创建混合空间。我们目前要实现的是一个走和跑的功能 那么创建1d即可。到这一步混合空间已经做完 下一步做”动画蓝图”

qq_30584617的博客 3300

Struts2的全局结果集Global_Results、动态结果集dynamic_result、带参数的结果集

一、Global_Results 全局结果集 /main.jsp /index.jsp /user_success.jsp /user_error.jsp

fzjiangmin1984的专栏 672

SAP SD销售订单抬头自定义字段增强:BADI_SLS_HEAD_SCR_CUS实战指南

SAP ERP系统中的销售订单管理是企业核心业务流程,经常需要扩展标准功能来满足个性化业务需求。在SAP SD模块中,销售订单抬头屏幕的增强是常见需求。通过BADI(Business Add-In)技术,可以在不修改标准代码的前提下,实现自定义字段的添加与数据处理。本文详细介绍了如何使用BADI_SLS_HEAD_SCR_CUS实现销售订单抬头自定义字段,包括函数组子屏幕设计、数据存储表构建以及BADI方法的具体实现。这种增强方式适用于VA01/VA02/VA03等事务,保证了系统升级的兼容性和维护的便捷性

weixin_29758911的博客 349

Spring Boot 与 Redisson 版本适配深度解析

Spring Boot 与 Redisson 的版本适配是一个动态演进的过程。开发者需要密切关注两者官方的版本更新日志,建立完善的版本验证机制。本文提供的适配方案基于当前最新技术状态(2024年1月),建议在实际生产环境中通过灰度发布策略验证版本兼容性。只有深入理解底层技术原理,才能在分布式系统的星辰大海中稳健航行。延伸阅读Spring Boot 官方迁移指南。

fudaihb的博客 1083

struts2的global-results

如果一个result配置可以被action共享,则可以把该result配置抽取为公共的,即global-results,看如下配置: /common.jsp 如果其他的package下也想共享此result,则可以使用package的extends属性,看如下配置: ....... 即extends其他p

残缺的孤独 5268

【声纳技术】声呐时间反转镜技术:从被动聚焦到主动空间复用

时间反转镜技术以其独特的物理机制,为水声通信与声呐探测提供了一条绕过传统自适应均衡器的新路径。被动时间反转利用接收端的空间分集实现脉冲压缩,结构简洁、计算高效;主动时间反转则通过发射端预编码,将多径能量引导至目标位置,为多用户下行链路的空间复用奠定了物理基础。从Kuperman等人在海洋中首次验证声学时间反转镜,到TR-MIMO声呐的湖试验证,再到VTRM-CRK多用户通信系统的海试成功,该技术已从理论概念逐步走向工程实用。

u012133341的博客 55

DEM/DSM高程数据发布为ArcGIS影像高程服务全流程指南

数字高程模型(DEM)是描述地表起伏的关键数据,在三维GIS、数字孪生与工程选线中不可或缺。要让DEM在Web端和三维场景中实时调用,需要将其发布为带高程能力的影像服务。这涉及栅格格式、坐标系单位、NoData处理、镶嵌数据集组织及缓存策略等关键环节。ArcMap与ArcGIS Pro提供了不同的发布路径,后者通过高程图层类型原生支持浮点精度,并可利用LERC压缩优化性能。掌握这些原理,能帮助GIS工程师快速构建稳定、可查询的高程服务,支撑剖面分析、淹没模拟等多类应用。

weixin_34189116的博客 326

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

struts2: include和global-results(转)

[size=small]先贴两段代码,在慢慢解释 (1)struts-user.xml UserAction_queryAll ...

liuhong2099的专栏 145

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Struts配置文件

在struts下包含四个子元素,分别是package、include、bean、constact。 package的属性:  name:可以随便取,可以被其他package继承,字符串类型。这个是必填的。 extends:很重要,继承struts-defalut.xml的一些东西,而在struts-default.xml中包含了基础的拦截器配置信息。继承了这个,就可以直接使用

胡图图的鼻涕 774

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

struts2配置文件中的include和global-results

今天遇到的一个这样的问题:几个struts2的配置文件 用include 进struts.xml配置文件里面去。每个配置文件都有 一个 相同的  想把它们提出来来 放到struts.xml配置文件里面去。这样就只需要配置一个 了。但是遇到一点问题。404的。以下是网上找的解决方法。 (1)struts-user.xml

8726

struts.xml配置详解

struts.xml是我们在开发中利用率最高的文件,也是Struts2中最重要的配置文件。以下介绍几个struts.xml中常用到的标签: 1、<include> 利用include标签,可以将一个struts.xml配置文件分割成多个配置文件,然后在struts.xml中使用<include>标签引入其他配置文件。 比如一个网上购物程序,可以把用户配置、商品配置、订单...

huidaoli 1407

struts.xml

1)struts.xml的主要作用 其存放位置Web应用下的类加载路径下才能使用,即WEB-INF/classes路径下。Struts.xml文件主要用来配置Action和HTTP请求的对应关系,以及配置逻辑视图和物理视图资源的对应关系。除了这些功能之外,它还有一些额外的功能,如配置常量,导入其他配置文件等。 是根标签,所有其他的标签都放在 中间;package 元素定义了一个包,在 Stru

lyue4的博客 818

struts2.0之struts.xml文件配置详解

DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd" > struts>      include节点是struts2中组件化的方式 可以将每个功能模块独立到一个xml配置文件

在路上 680

struts2.0中struts.xml配置文件详解

struts2.0中struts.xml配置文件详解 DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd" > struts>      include节点是struts2中

killerover84的专栏-----天下 529

Struts2详情

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34123613的博客 80

struts2 的struts.xml 配置解释

汇总: 一、 DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd" >struts>      include节点是struts2中组件化的方式 可以将每个功能模块独立到一个xml配

nihousheng的专栏 343
上一篇: struts2: Constant Configuration
下一篇: struts2: Form表单有多个submit的提交问题
ForWayfarer
博客等级 码龄20年 60粉丝 96原创
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值