[struts2学习笔记] 第五节 编写struts2的action代码
本文地址:http://blog.csdn.net/sushengmiyan/article/details/40479299
官方文档: http://struts.apache.org/release/2.3.x/docs/coding-struts-2-actions.html
本文作者:sushengmiyan
------------------------------------------------------------------------------------------------------------------------------------
其实学习struts2基础部分,个人感觉,到前四篇已经可以有个直观的了解和掌握了,就可以在应用中正常使用struts了,其它struts2的特性,久可以慢慢琢磨API了。
现在再将struts2的一个教程给解释一下,也算是备用吧,后期可以在指导他人学习struts2的时候供参考。
编写struts2的代码只需要三步:
1.映射一个action到class
action和class的映射是在struts.xml里面配置的,之前的一个配置如下:
<action name="hello" class="org.apache.struts.helloworld.action.HelloWorldAction" method="execute">
<result name="success">/HelloWorld.jsp</result>
</action>
以上配置就指定了一个hello的action对应于org.apache.struts.helloworld.action.HelloWorldAction class
2.映射一个结果到view
<result name="success">/HelloWorld.jsp</result>
这个就是将success的结果映射到HelloWorld.jsp这个view中。
3.编写action的处理逻辑
public String execute() throws Exception { messageStore = new MessageStore() ; helloCount++; return SUCCESS; }
这个是class对应的一个方法,是处理事务逻辑的地方。根据你的处理,返回处理结果,如success
这个地方有必要说一下整个的处理过程:
首先,登陆界面,接受用户的input标签的数据输入(用户名、密码)
接着,根据struts.xml配置文件,找到对应的用户名密码的set方法,将输入数值设置到对应的类对象中
然后,调用了httprequest方法,获取刚刚存入对象的输入数据(用户名、密码)
接着,执行execute方法,返回处理结果(如success)
最好,根据处理结果,显示view给用户(result.jsp)
这就是struts2的整个处理流程,感觉,熟悉了这个流程,在自己的程序中增加struts2已经很简单了。
[struts2学习笔记] 第五节 编写struts2的action代码的更多相关文章
- struts2学习笔记之十四:使用注解配置Action(不是和spring集成使用)
Struts2支持使用注解配置Action,减少配置文件的配置 Struts2如果要支持注解配置Action,需要插件的支持,导入插件struts2-convention-plugin-2.1.8.1 ...
- struts2学习笔记(五)—— OGNL
一.OGNL概述 1.1 什么是OGNL OGNL的全称是对象图导航语言( object-graph Navigation Language),它是一种功能强大的开源表达式语言,使用这种表达式语言,可 ...
- [struts2学习笔记] 第六节 struts2依赖的jar包还有Could not find action or result 错误解决
本文地址:http://blog.csdn.net/sushengmiyan/article/details/43272061 本文作者:sushengmiyan ------------------ ...
- [struts2学习笔记] 第四节 学着使用struts 2的tag标签
本文地址:http://blog.csdn.net/sushengmiyan/article/details/40349201 官方文档: http://struts.apache.org/relea ...
- 【Struts2学习笔记(12)】Struts2国际化
(1)准备资源文件,资源文件的命名格式例如以下: baseName_language_country.properties baseName_language.properties baseName. ...
- 【Struts2学习笔记(1)】Struts2中Action名称的搜索顺序和多个Action共享一个视图--全局result配置
一.Action名称的搜索顺序 1.获得请求路径的URI,比如url是:http://server/struts2/path1/path2/path3/test.action 2.首先寻找namesp ...
- [ExtJS5学习笔记]第五节 使用fontawesome给你的extjs5应用增加字体图标
本文地址:http://blog.csdn.net/sushengmiyan/article/details/38458411本文作者:sushengmiyan-------------------- ...
- [ExtJS5学习笔记]第五节 使用fontawesome给你的extjs5应用添加字体图标
本文地址:http://blog.csdn.net/sushengmiyan/article/details/38458411本文作者:sushengmiyan-------------------- ...
- python学习笔记(五)---sublime text 多行代码注释快捷键
转载网址:https://blog.csdn.net/mycms5/article/details/70194045/ 多行选择后按下ctrl+/ 选择类 Ctrl+D 选中光标所占的文本,继续操作则 ...
随机推荐
- BZOJ4423 Bytehattan
Description 比特哈顿镇有n*n个格点,形成了一个网格图.一开始整张图是完整的. 有k次操作,每次会删掉图中的一条边(u,v),你需要回答在删除这条边之后u和v是否仍然连通. Input 第 ...
- 计蒜客NOIP模拟赛D2T2 直线的交点
伦伦刚刚在高中学习了解析几何,学会了计算两条直线的交点.这天,老师给她布置了一道作业.在平面上有 nnn 条直线,他们之间有若干交点.给定一对平板(两条平行的直线),问这有多少对直线,他们的交点在这一 ...
- bzoj 1426:收集邮票 求平方的期望
显然如果收集了k天,ans=k*(k+1)/2=(k^2+k)/2.那么现在要求的就是这个东西的期望. 设f[i]表示已有i张邮票,收集到n张的期望次数,g[i]表示已有i张邮票,收集到n张的次数的平 ...
- ●codeforces 553E Kyoya and Train
题链: http://codeforces.com/problemset/problem/623/E 题解: FFT,DP 题意: 一个有向图,给出每条边的起点u,终点v,费用c,以及花费每种时间的概 ...
- 51Nod 1125 交换机器的最小代价
题目描述: 有N台机器重量各不相等,现在要求把这些机器按照重量排序,重量从左到右依次递增.移动机器只能做交换操作,但交换机器要花费一定的费用,费用的大小就是交换机器重量的和.例如:3 2 1,交换1 ...
- 例10-10 uva10491(简单概率)
题意: 在a+b扇门,a扇后面是牛,b扇后面是车.在你选择一扇门后,主持人为你打开另外c扇门,然后你再选一扇, 求是车的概率 ①先选牛:a/(a+b),然后还剩a+b-c-1扇门,其中b扇为车,所以a ...
- 【UOJ UNR #1】争夺圣杯
来自FallDream的博客,未经允许,请勿转载,谢谢. 传送门 考虑直接对每个数字,统计它会产生的贡献. 单调栈求出每个数字左边第一个大等于他的数,右边第一个大于他的 (注意只能有一边取等) 假设左 ...
- Angular中 build的时候遇到的错误--There are multiple modules with names that only differ in casing
今天早上遇到一个Angular的编译的时候的错误 具体信息: There are multiple modules with names that only differ in casing.This ...
- Tinychain 是比特币的一个简易口袋实现
Putting the rough in "rough consensus" Tinychain is a pocket-sized implementation of Bitco ...
- 开发网页时,127.0.0.1或者localhost能访问,而本机地址不能访问的解决
第一 ping试试 127.0.0.1 和 本机地址 若127.0.0.1可以 说明可以自己ping自己 若本机地址可以 说明host正常 第二 检查服务器部署 再部署一个新的 若新的正常 说明你项目 ...