strust知识之四

ValueStack对象
概述:
Action类通过属性可以获得所有相关的值,如请求参数属性值等。要获得这些参数值,我们要做的唯一一件事就是在Action类中声明与参数同名的属性,在Struts2调用Action类的Action方法(默认是execute方法)之前,就会为相应的Action属性赋值。要完成这个功能,有很大程度上,Struts2要依赖于ValueStack对象。这个对象贯穿整个Action的生命周期,每个Action类的对象实例会拥有一个ValueStack对象。
也就是说:
value对象是进行参数传递的工具
并且伴随action整个生命周期
包括两部分:
1、放在根元素中
这里的特点有:
1》通过在action的值对象中找到它
2》可以放普通数据
3》访问可以不带#
下面上代码:

ValueStack valueStack = ActionContext.getContext().getValueStack();   
CompoundRoot root = valueStack.getRoot();
User user=new User();
root.push(user);

2.放在非根元素     Actionntext.getContext().getContextMap().put("request","request域对象的数据");        ActionContext.getContext().getSession().put("session","我是Session域对象的数据");       ActionContext.getContext().getApplication().put("application","Application域对象的数据");

返回的jsp页面

 <!--struts常用的标签-->
<s:form name="sName" id="sNamId" theme="simple" action="/login">
<s:textfield id="userName" value="" label="用户名"></s:textfield>  
<s:textfield id="userPwd" value="" label="密码" ></s:textfield>  
 <!--提交的标签-->
 <s:submit value="提交"></s:submit>      
     </s:form>
     <!--收集错误信息的标签-->
     <s:fielderror></s:fielderror>
     <!--收集指定的错误信息-->
     <s:fielderror name="user.userName"></s:fielderror>
     <!--页面的调试-->
     <s:debug></s:debug> 
     <!--struts取值的标签-->
         下面是根元素的数据的取值方式:
     <s:property value="userName"/>  
             非根元素的取值方式
             访问request域可以不带request.
session,application是存在{}对象中的,request是直接存的值
      <s:property value="#name"/>
     <s:property value="#session.name"/>
     <s:property value="#application.nam"/>

struts2的数据校验方式

1、前端通过js校验
2、服务端进行校验
实际上这是控制器的功能
代码的方式
方式一、校验所有的方法
创建一个action继承actionSupport
重写validate方法
校验逻辑写在里面
方式二、校验置顶方法
如要校验register这个方法
只需添加一个validate+register的方法

public void validateRegister() {
        校验逻辑...
        super.validate();

服务端校验之二、
在xml文件中校验
全局验证
适合于要校验的东西较多的情况
在/com/opensymphony/xwork2/validator/validators/default.xml这个目录下找到服务器为我们提供校验文件
1、这个文件必须位于要校验的action同目录,文件名必须是action名-validation.xml
2、需要服务器的配置头
3、要验证字段的书写方式
区分为type=”requiredstring”配置不同

 <field name="user.userName">
<field-validator type="requiredstring">
<message>用户名为空</message>

局部验证
文件名改为

Action类名-Action对象-validation.xml

模型驱动
功能如下:

数据回显
防止表单重复提交

1、实例化这个对象(实体)
2、继承ModelDriven<实体类名>
数据回显功能实现:

ValueStack valueStack = ActionContext.getContext().getValueStack();
valueStack.push(实体对象);

这样数据就回显到jsp表单页面了,防止表单表单重复提交的方式还有更改数据提交方式转发为重定向

内容概要:该PPT详细介绍了企业架构设计的方法论,涵盖业务架构、数据架构、应用架构和技术架构大核心模块。首先分析了企业架构现状,包括业务、数据、应用和技术大架构的内容和关系,明确了企业架构设计的重要性。接着,阐述了新版企业架构总体框架(CSG-EAF 2.0)的形成过程,强调其融合了传统架构设计(TOGAF)和领域驱动设计(DDD)的优势,以适应数字化转型需求。业务架构部分通过梳理企业级和专业级价值流,细化业务能力、流程和对象,确保业务战略的有效落地。数据架构部分则遵循五大原则,确保数据的准确、一致和高效使用。应用架构方面,提出了分层解耦和服务化的设计原则,以提高灵活性和响应速度。最后,技术架构部分围绕技术框架、组件、平台和部署节点进行了详细设计,确保技术架构的稳定性和扩展性。 适合人群:适用于具有一定企业架构设计经验的IT架构师、项目经理和业务分析师,特别是那些希望深入了解如何将企业架构设计与数字化转型相结合的专业人士。 使用场景及目标:①帮助企业和组织梳理业务流程,优化业务能力,实现战略目标;②指导数据管理和应用开发,确保数据的一致性和应用的高效性;③为技术选型和系统部署提供科学依据,确保技术架构的稳定性和扩展性。 阅读建议:此资源内容详尽,涵盖企业架构设计的各个方面。建议读者在学习过程中,结合实际案例进行理解和实践,重点关注各架构模块之间的关联和协同,以便更好地应用于实际工作中。
资 源 简 介 独立分量分析(Independent Component Analysis,简称ICA)是近二十年来逐渐发展起来的一种盲信号分离方法。它是一种统计方法,其目的是从由传感器收集到的混合信号中分离相互独立的源信号,使得这些分离出来的源信号之间尽可能独立。它在语音识别、电信和医学信号处理等信号处理方面有着广泛的应用,目前已成为盲信号处理,人工神经网络等研究领域中的一个研究热点。本文简要的阐述了ICA的发展、应用和现状,详细地论述了ICA的原理及实现过程,系统地介绍了目前几种主要ICA算法以及它们之间的内在联系, 详 情 说 明 独立分量分析(Independent Component Analysis,简称ICA)是近二十年来逐渐发展起来的一种盲信号分离方法。它是一种统计方法,其目的是从由传感器收集到的混合信号中分离相互独立的源信号,使得这些分离出来的源信号之间尽可能独立。它在语音识别、电信和医学信号处理等信号处理方面有着广泛的应用,目前已成为盲信号处理,人工神经网络等研究领域中的一个研究热点。 本文简要的阐述了ICA的发展、应用和现状,详细地论述了ICA的原理及实现过程,系统地介绍了目前几种主要ICA算法以及它们之间的内在联系,在此基础上重点分析了一种快速ICA实现算法一FastICA。物质的非线性荧光谱信号可以看成是由多个相互独立的源信号组合成的混合信号,而这些独立的源信号可以看成是光谱的特征信号。为了更好的了解光谱信号的特征,本文利用独立分量分析的思想和方法,提出了利用FastICA算法提取光谱信号的特征的方案,并进行了详细的仿真实验。 此外,我们还进行了进一步的研究,探索了其他可能的ICA应用领域,如音乐信号处理、图像处理以及金融数据分析等。通过在这些领域中的实验和应用,我们发现ICA在提取信号特征、降噪和信号分离等方面具有广泛的潜力和应用前景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值