Struts2基础

XML国际化的配置
代码:
<constant name="struts.custom.i18n.resources" value="message" />


为了避免struts.xml文件过于庞大,臃肿提高struts.xml的可读性,我们将struts.xml配置文件分解成多个文件,struts.xml包含分解文件
代码:
<include file="struts-part1.xml" />


ActionSupport基类返回值:
ERROR、NONE、INPUT、LOGIN、SUCCESS

Action访问ServletAPI
Struts2提供了ActonContext类
ActionContext常用方法:
-Object get(Object key)
-Map getApplication()
-static ActionContext getContext()
-Map getParameters()
-Map getSession()
-void setApplication(Map applicaton)
-vois setSession(Map session)
例子:
ActionContext ctx = ActionContext.getContext();
//访问application范围的属性值
String user = ctx.getApplication.get("user");
user = ctx.get("user");
ctx.put("user",user);
ctx.getApplication().put("user",user);
ctx.getSession().put("user",user);


除此之外,为了直接访问ServletAPI,Struts2还提供了一个ServletActionContext工具类。该类包含一下几个静态方法:
-static PageContext getPageContext()
-static HttpServletRequest getRequest()
-static HttpServletResponse getResponse()
-static ServletContext getServletContext()


ActionContext ctx = ActionContext.getContext();

HttpServletRequest request = (HttpServletRequest)ctx.get(ServletActionContext.HTTP_REQUEST);

HttpServletResponse response = (HttpServletResponse)ctx.get(ServletActionContext.HTTP_RESPONSE);

//ServletActionContext.APPLICATION;
//ServletActionContext.SESSION;
//ServletActionContext.PAGE_CONTEXT;


Struts2使用包来组织Action。使用package元素配置一个包:
<struts>
<!-- 配置第一个包 -->
<package name="test" extends="struts-default">
...
</package>
<!-- 配置第二个包 继承第一个包 -->
<package name="skill" extends="test" namespace="/skill">
...
</package>
</struts>

同一个命名空间的Action不能同名,不同命名空间的Action可以同名
Struts2的命名空间的作用等同于Struts1里的模块的作用。
默认命名空间里的Action可以处理任何命名空间下的Action请求。但是根命名空间下的Action只处理根命名空间下的Action
如果在命名空间里没有找到Action那么会到默认命名空间找Action而不会去上一级空间去找例:/service/test

Struts2中使用通配符实现同Action的不同method调用
代码:
<Action name="*Action" class"test.LoginAction" method="{0}">
<result name="input">/login.jsp</result>
<result name="success">/welcome.jsp</result>
</Action>


[b][size=large][color=red]待续。。。:oops: [/color][/size][/b]
内容概要:本文围绕基于CNN-BiLSTM-Attention混合神经网络模型的电力负荷预测展开研究,提出一种结合卷积神经网络(CNN)、双向长短期记忆网络(BiLSTM)与注意力机制(Attention)的深度学习框架,并通过Python代码实现高精度的短期与超短期负荷预测。该模型充分利用CNN对局部特征的提取能力,捕捉负荷数据中的周期性与趋势性模式;借助BiLSTM对时间序列前后向依赖关系的建模能力,增强对动态变化的感知;并通过Attention机制自适应地聚焦关键历史时刻,提升预测准确性。文中详细阐述了数据预处理、模型结构设计、训练流程及超参数调优方法,并在真实负荷数据集上进行了实验验证,结果表明该混合模型相比传统单一模型和其他基准模型具有更优的预测性能,尤其在应对非线性、非平稳负荷波动方面表现突出。; 适合人群:具备一定Python编程能力和机器学习基础,从事电力系统分析、能源管理、智能电网或时序预测相关工作的科研人员、工程师及高校研究生。; 使用场景及目标:①应用于电网调度、电力市场出清、需求响应管理等场景下的精细化负荷预测;②为研究人员提供一套完整的、可复现的深度学习负荷预测代码框架,推动AI技术在能源领域的落地应用;③帮助理解CNN、BiLSTM与Attention模块之间的协同机制及其在时序建模中的集成方式。; 阅读建议:建议读者结合所提供的Python代码进行动手实践,重点掌握数据归一化、滑动窗口构造、模型搭建与训练技巧,并尝试在不同地区、不同季节的负荷数据上进行迁移测试,以深入理解模型泛化能力与调参策略。
内容概要:本文围绕“MATLAB具有储能的经济调度及机会约束和鲁棒优化”展开,系统研究了电力系统中融合储能技术的经济调度问题,重点探讨了机会约束规划与鲁棒优化方法在应对新能源出力不确定性、负荷波动及系统运行风险中的应用。内容涵盖风光储协同调度、多微网共享储能、电动汽车参与调度、低碳经济调度等多种典型场景,深入分析了储能的选址定容、功率协调控制、状态估计与优化调度模型。核心技术包括粒子群优化(PSO)、分布鲁棒机会约束(DRCC)、模型预测控制(MPC)、鲁棒优化、二阶锥规划(SOCP)等先进算法,并提供了基于Matlab/Simulink的完整仿真代码实现,旨在提升新型电力系统的运行灵活性、经济性与抗风险能力。; 适合人群:具备电力系统、自动化、电气工程或相关专业背景,熟悉Matlab/Simulink仿真环境与基本优化算法,从事新能源并网、微电网运行、储能系统规划、电力市场调度等领域的研究生、科研人员及工程技术人员。; 使用场景及目标:① 学习并构建含储能的电力系统经济调度优化模型;② 掌握机会约束与鲁棒优化在处理新能源不确定性问题中的建模思路与求解方法;③ 利用提供的Matlab代码进行算法复现、仿真验证与性能对比,支撑科研项目攻关;④ 为撰写高水平学术论文、学位论文或工程优化方案提供可靠的模型参考与代码支持。; 阅读建议:建议读者结合文档中具体的案例(如风电-水电联合调度、电动汽车集群调度、多微网共享储能等)和配套的Matlab代码进行动手实践,重点关注优化模型的构建逻辑、约束条件设定与求解器配置过程,同时可关注公众号“荔枝科研社”获取完整资源包、复现教程及持续的技术支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值