同页面同方法输出不同验证码

在同页面中调用方法输出不同验证码方法有很多种

控制器代码:

在控制器生成验证码图片,并且将验证码的字符串存进session中,然后返回给视图
在这里插入图片描述

因为在页面中还需要有一张验证码,所以还要生成一张验证码图片
在这里插入图片描述

为了避免在页面点击一个验证码的时候 两张验证码同时发生改变,所以给了2个Action 不同的名称

ValidCodeUtils . GetRandomCode(int)

该类是是自己写的,为了生成5个随机的char 类型的值

而括号里面的数字决定了这个随机数的长度

ValidCodeUtils . CreateImage()

为了将5个随机值,生成成二维码图片

Html代码:

在页面写了2个二维码的点击事件,代码如下:

在这里插入图片描述
在这里插入图片描述

虽然解决了点击一个二维码,两个二维码都会改变的问题,但是这2个二维码第一次生成后还是会一样,所以为了解决这个问题,在就我们打开注册模态框的时候,模拟鼠标点击一下二维码,所以,这样这2个二维码就不会随着其中一个的改变,而2个二维码而改变和相同了。
在这里插入图片描述

提示:

注意,2个Action中的二维码字符串,要存在名字不同的session中,避免到时判断验证时出错。

并且因为浏览器缓存机制,2个图片的请求路径一定要加上时间,这样就会避免,点击二维码的时候不会出现二维码图片不变,而session中的二维码字符串一直在改变,影响控制器那边代码的判断,这样就会给用户一种,明明输入了正确的二维码,却一直提示二维码错误的错觉。

这样就解决了在一个页面中调用同一个类生成的二维码,而相互不会影响

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值