struts2: include和global-results

STM32F103C8T6实战:从零搭建三相SPWM逆变器(附MATLAB仿真、PCB、源码) 本文详细介绍了如何使用STM32F103C8T6单片机从零搭建三相SPWM逆变器,涵盖硬件选型、PCB设计、SPWM算法实现及MATLAB仿真。项目提供完整的工程文件,包括源码、PCB设计和仿真模型,适合电子工程师和学生进行实践学习。通过本教程,读者可以掌握逆变器设计的核心技术和调试方法。 阅读详情

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

(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>
基于YOLO11深度学习的糖尿病视网膜病变智能诊断系统【Python源码+Pyqt5界面+数据集+训练代码】 本文详细介绍如何利用YOLO11深度学习技术构建糖尿病视网膜病变智能诊断系统。项目提供完整的Python源码、PyQt5图形界面、标注数据集及训练代码,实现从图片、视频到摄像头的多模态病变检测,旨在辅助医疗筛查,提升诊断效率。 阅读详情

相关推荐

matlab相机标定_实战 | 相机标定

点击“计算机视觉life”关注,置顶更快接收消息!本文阅读时间约5分钟什么是相机标定?我们为什么需要相机标定?相机标定就是确定相机内参和外参的过程,其结果精度会直接影响视觉系统后续工作的准确性。坐标系相机标定涉及到了四大坐标系,分别为:像素坐标系图像物理坐标系相机坐标系世界坐标系为了进行相机标定,必须已知世界坐标系中足够多的三维空间点坐标,找到这些空间点在图像中投影点的二维图像坐标,并建...

weixin_39747334的博客 765

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

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

西油骄子--Debug 2162

Ghidra逆向分析实战:从安装JDK到解析STM32的bin文件(附SVD插件配置)

本文详细介绍了使用Ghidra进行STM32固件逆向分析的完整流程,从JDK安装配置到SVD插件的应用。通过实战案例展示如何解析bin文件、恢复符号信息以及利用SVD插件识别外设寄存器,帮助开发者高效完成嵌入式设备的逆向工程任务。

weixin_29309475的博客 645

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

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

快雪时晴天的专栏 2686

解决Calibre中license的错误

本次解决了Calibre在Cadence 617 virtuoso版本中运行不了的错误,在遇到问题的时候,我也跟你们一样,首先是上网查询为什么运行不了呢?明明我安装了之后里面有Calibre的,我当时也是这样的疑惑,一点Calibre运行LVS的时候,一片空白,然后就出现了license的错误,后来点点点,看看看,搜搜搜,最终解决了这个问题。虚拟机是VMware16版本,cadence617,Calibre是2015版本。旨在记录遇到的实际问题。

yytu231的博客 1万+

Crush 终端 LLM 工具安装与使用指南:把 AI 编程助手装进你的命令行

喜欢命令行的开发者需要离线/轻量级 AI 助手的场景希望自定义模型与工具链的高级用户通过LSP + MCP + 多模型支持,Crush 不仅能写代码,还能理解项目、调用工具、连接服务,真正成为你的“终端编程搭档”。

weixin_44058951的博客 1616

struts2全局结果集global-results

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

执着,也是一种态度 604

ZW3D 二次开发-制作插件

1.Windows 7 SP1 或 Windows 10 或 Windows 11(推荐 Windows 11)2.Visual studio 2017-2022 (或 C/C++的任何其他集成开发环境)(推荐 Visual studio 2022)3.ZW3D 2023 或以上版本(建议使用与 ZW3D 一致的 API 的版本)4.Qt5.9.7(for Windows)博主学习使用环境的是:Windows 11 Version 24H2 + Visual studio 2022 + Qt5.9.7(fo

fhqiwmc的博客 812

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

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

fzjiangmin1984的专栏 672

Python爬虫实战:实时监控美国SEC官网文件更新,助你第一时间掌握市场动态

在资本市场中,信息就是财富。美国证券交易委员会(SEC)官网公开了大量公司披露文件,涵盖财报、招股说明书、内幕交易等重要信息。对投资者、分析师及法律合规人员来说,实时监控这些公开文件具有重要价值。

2201_76125261的博客 595

通过Power Platform自定义D365 CE 业务需求 - 4. 使用Power Automate

Power Automate构建块Power Automate中的连接器流的类型和用途流中的动态值和表达式使用变量、循环和条件在Power Automate中处理审批业务场景、用例和实现Power Virtual Agent的概念Power Virtual Agent的构建块配置Power Virtual Agent示例在公共网站/门户中部署Power Virtual Agent业务场景、用例和实现。

Martin-Mei的博客 560

struts2的global-results

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

残缺的孤独 5268

MicroPython学习:在STM32上进行移植

本文将介绍如何在STM32上移植MicroPython,并提供相应的源代码。通过以上步骤,你已经成功地将MicroPython移植到STM32上,并可以使用MicroPython语言编写和运行代码。你可以进一步探索MicroPython的功能和API,以利用STM32的各种外设和功能。使用STM32CubeProgrammer或其他适当的烧录工具,将编译生成的MicroPython固件烧录到STM32微控制器中。打开该文件,并根据你的STM32微控制器类型进行必要的配置更改。模块来控制STM32的LED。

JeeVue的博客 1237

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

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

weixin_34189116的博客 326

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

struts2: include和global-results(转)

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

liuhong2099的专栏 145

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Struts配置文件

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

胡图图的鼻涕 774

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

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、付费专栏及课程。

余额充值