本人是新手,但喜欢尝试新事物。
Struts2.2.1的Annotation正如文档写的,很简单,但对于英文不好的朋友和新手可能不那么容易。好了,废话不说,开始。
首先引入struts2-convention-plugin-2.2.1.jar,然后就可以使用了。
第一,确定包:
sturts2的访问路径是http://localhost:端口/项目名/命名空间(namespace)/action名,
Convention也是一样,只不过表示形式不太一样,首先,Convention会从根package中寻找包名含有struts, struts2, action or actions 的任意packages,默认情况下,Convention会找到com.opensymphony.xwork2.Action 的实现类,或制定包中以Action 结尾的类action。
所以命名最好以struts、struts2、action、actions结束,如:com.example.actions,当然也可以通过设置更改,Convention会搜索到如下的Action
com.example.actions.MainAction com.example.actions.products.Display
(implements com.opensymphony.xwork2.Action) com.example.struts.company.details.ShowCompanyDetailsAction
第二,确定namespace:
每一个被Convention找到action都会对应一个明确的URL地址,URL以package的名字以及Action类名为基础。首先Convention从根package以及类所在的package名来确定对应的URL中的路径(namespace),以下就是根据package确定的URL namespace
com.example.actions.MainAction -> / com.example.actions.products.Display -> /products com.example.struts.company.details.ShowCompanyDetailsAction -> /company/details
//Namespace为:
/
/products
/company/details
第三 ,确定action名:
接下来Convention需要确定URL的具体资源部分。第一步取消类名中的Action,并以”-”来分割类名的其他部分,且将每个分部的首字母转为小写。如下所示Full URLs
com.example.actions.MainAction -> /main
com.example.actions.products.Display -> /products/display com.example.struts.company.details.ShowCompanyDetailsAction -> /company/details/show-company-details
//Action名为:
main
display
show-company-details
第四,确定结果页面:
Convention会默认所有的结果页面都存储在WEB-INF/content目录下,所以如果你没有更改设置,你也可以在struts的properties文件中设定struts.convention.result.path的值到一个新的路径。所以action返回的结果页面在默认在WEB-INF/content目录下,而且名字为:action名(访问路径的action名,一一地应).jsp,如:
WEB-INF/content/main.jsp
WEB-INF/content/products/display.jsp
WEB-INF/content/company/details/show-company-details.jsp
最后部署运行项目,不出意外就可以运行成功了。
访问路径依次为:
- http://localhost:端口/项目名/main.action
- http://localhost:端口/项目名/products/display.action
- http://localhost:端口/项目名/company/details/show-company-details.action
这样就跟struts.xml的配置对应上了,更多的配置参见文档,相信大家都可以明白,第一次发博,而且基本是把文档翻译了一遍,请拍。
分享到:
相关推荐
- 将`struts-2.2.1\apps\struts2-blank-2.2.1\WEB-INF\lib\* .jar`中的所有JAR文件添加到项目的`WEB-INF\lib`目录下。 - 复制`struts-2.2.1\lib\struts2-spring-plugin-2.2.1.jar`到项目的`WEB-INF\lib`目录下。 ##...
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。
wrf转mp4播放器1.1.1
内容概要:本文档详细介绍了如何在Simulink中设计一个满足特定规格的音频带ADC(模数转换器)。首先选择了三阶单环多位量化Σ-Δ调制器作为设计方案,因为这种结构能在音频带宽内提供高噪声整形效果,并且多位量化可以降低量化噪声。接着,文档展示了具体的Simulink建模步骤,包括创建模型、添加各个组件如积分器、量化器、DAC反馈以及连接它们。此外,还进行了参数设计与计算,特别是过采样率和信噪比的估算,并引入了动态元件匹配技术来减少DAC的非线性误差。性能验证部分则通过理想和非理想的仿真实验评估了系统的稳定性和各项指标,最终证明所设计的ADC能够达到预期的技术标准。 适用人群:电子工程专业学生、从事数据转换器研究或开发的技术人员。 使用场景及目标:适用于希望深入了解Σ-Δ调制器的工作原理及其在音频带ADC应用中的具体实现方法的人群。目标是掌握如何利用MATLAB/Simulink工具进行复杂电路的设计与仿真。 其他说明:文中提供了详细的Matlab代码片段用于指导读者完成整个设计流程,同时附带了一些辅助函数帮助分析仿真结果。
国网台区终端最新规范
《基于YOLOv8的智慧农业水肥一体化控制系统》(包含源码、可视化界面、完整数据集、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计
GSDML-V2.33-LEUZE-AMS3048i-20170622.xml
微信小程序项目课程设计,包含LW+ppt
微信小程序项目课程设计,包含LW+ppt
终端运行进度条脚本
幼儿园预防肺结核教育培训课件资料
python,python相关资源
《基于YOLOv8的智慧校园电动车充电桩状态监测系统》(包含源码、可视化界面、完整数据集、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计
deepseek 临床之理性软肋.pdf
SM2258XT量产工具(包含16种程序),固态硬盘量产工具使用
RecyclerView.zip
水务大脑让水务运营更智能(23页)
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。
大众捷达轿车前轮制动器设计
《基于YOLOv8的智能工厂压缩空气泄漏检测系统》(包含源码、可视化界面、完整数据集、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计