系列文章目录

文章目录

  • 系列文章目录
  • 前言
  • 一、配置文件result元素-自定义验证码结果类型讲解
  • 二、配置文件result元素-优化自定义结果类型讲解
  • 三、配置文件result元素-全局视图和局部视图讲解
  • 注意

前言

接上一篇

一、配置文件result元素-自定义验证码结果类型讲解

什么叫做自定义结果类型?

意思就是下图这四种type类型,我们也可以自己定义

Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_验证码


Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_验证码_02


Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_验证码_03

Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_验证码_04


Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_配置文件_05


Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_配置文件_06


下面我们自己写一个

我们就定义一个验证码类型吧

CAPTCHA:验证码

1、先复制一下

Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_配置文件_07


进行一些必要的操作之后(复制项目正确方式可以看前面的博客)

把action和jsp全部删掉

2、

Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_配置文件_08


Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_验证码_09


代码就写在这个方法里面

验证码代码这里不用自己写,直接用这个小框架

Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_验证码_10


把这个jar包丢到lib下 即可

Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_配置文件_11

Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_配置文件_12


Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_配置文件_13


struts.xml:

Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_验证码_14


测试看效果,这就是我们将来返回给客户端的验证码:

Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_验证码_15

二、配置文件result元素-优化自定义结果类型讲解

现在我们来优化一下上面的代码

对于验证码的长度和宽度,不同的开发者和客户可能想要的是不同的

所以长度和宽度我们不能直接写死

Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_自定义_16

这样写了之后就可以了吗?

不行

我们还必须要写get和set方法,要我们的框架可以让开发者把长度和宽度设置进来

Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_自定义_17

Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_配置文件_18


这样也形成了注入参数

Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_配置文件_19


注意一定要提供get和set方法,否则框架注入这两个参数的时候会出问题

三、配置文件result元素-全局视图和局部视图讲解

上面的result,我们就称之为 结果视图

Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_验证码_20


因为我们是通过result,返回到一个页面区域,然后看到一个结果

现在我们这个结果视图是局部的,为什么说是局部的?

Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_配置文件_21

Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_验证码_22


启动就报错了

Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_配置文件_23


Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_验证码_24


我们怎么让它变成不是小范围内可用用,而且全局都可以用呢?

两个办法,一个是拷贝一份

Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_配置文件_25


但是这个比较没水平,而且,冗余代码可能会很多,并且这并不叫全局变量,只能说是一个解决办法

有没有更好的解决办法

Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_验证码_26


我们可以换一种思路

声明一个抽象包,使它可以被继承

Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_验证码_27


Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_验证码_28

注意

1、注意,这个class名也可以不写,不写也会跳转

Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_验证码_29


2、注意包名也不能重复,否则代码会报错,你写的代码将不会生效

Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_验证码_30


3

Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_验证码_31


Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_配置文件_32


Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_验证码_33


Java三大框架SSH_002_04之Struts2:配置文件result元素-自定义验证码结果类型、优化自定义结果类型、全局视图和局部视图、自定义结果类型(type类型)_验证码_34