Struts 2学习(二)
2024-09-02 08:34:32
文章目录
文章目录
#动态结果
配置时不知道执行后的结果是哪一个,运行时才知道哪个结果作为视图显示给用户。
#全局结果
全局就结果可满足一个包中多个Action共享一个结果。
全局结果位于package元素内。
在相应的Action中可不比再写;
#拦截器
##什么是拦截器?
Struts 2大多数核心功能是通过拦截器实现的,每个拦截器完成某项功能。
拦截器方法在Action执行之前或者之后执行。
拦截器与过滤器原理很相似。
为Action提供附加功能时,无需修改Action代码,使用拦截器来提供。
拦截器栈:
- 从结构上看,拦截器相当于多个拦截器的组合。
- 从功能上看,拦截器栈也是拦截器
##为什么需要拦截器?
早期MVC框架将一些通用操作写死在核心控制器中,致使框架灵活性不足,可扩展性降低。
Struts 2将核心功能放到多个拦截器中实现,拦截器可自由选择和组合,增强了灵活性,有利于系统的解耦。
##拦截器的工作原理
拦截器的执行过程是一个递归的过程。
三阶段执行周期:
- 1:做一些Action执行前的预处理
- 2:将控制交给后续拦截器或返回结果字符串
- 3“:做一些Action执行后的处理
##Struts 2自带拦截器
#验证框架实例
新建一个实体类:
使用Struts框架建立一个JSP显示页面:
Action文件
Struts .xml配置文件
RegisterAction-validation.xml
关于Action的访问前置验证条件,通过该校验到达Action,否则无法到达 -->
#国际化和本地化
##Java程序的国际化思路
##国际化实例
最新文章
- 巧用location.hash保存页面状态
- System.DateUtils 2. IsInLeapYear 判断是否是闰年
- 几张图弄明白ios布局中的尺寸问题
- 解决html5 video不能播放 能播放声音不能播放视频
- HTML简明教程(二)
- 软件工程概论---max单元测试
- linux chmod命令(转)
- LINUX下的时间与时区的设置
- BitNami一键安装Redmine(转)
- C#获取ip的示例
- JavaScript的应用
- Android中的手势
- 【转】使用vnc连接linux服务器方便hadoop开发调试
- BZOJ 3359: [Usaco2004 Jan]矩形( dp )
- jQuery中的attr()和prop()使用
- Android 屏幕刷新机制
- CentOS源码包安装apache、nginx服务
- pandas学习(创建多层索引、数据重塑与轴向旋转)
- 在Pandas中更改列的数据类型【方法总结】
- 手头没证书,如何给https做代理?Nginx TCP转发
热门文章
- 关于客户和供应商预制凭证添加WBS字段
- python-scrapy爬取某招聘网站(二)
- 当会打王者荣耀的AI学会踢足球,一不小心拿下世界冠军!
- Spark MLlib中KMeans聚类算法的解析和应用
- spark bulkload 报错异常:Caused by: java.io.IOException: Added a key not lexically larger than previous
- Centos7 密钥对登陆(适用于群晖DSM)
- tomcat版本号修改已dwr配置错误安全漏洞整改
- python使用msgpack(umsgpack)
- 那些最全面的Windows10安装pytorch踩过的坑以及如何应用
- 【Linux】系统打开文件最大数量限制(进程打开的最大文件句柄数设置)