当前位置: 代码迷 >> J2EE >> 你用struts2如何实现验证码的
  详细解决方案

你用struts2如何实现验证码的

热度:82   发布时间:2016-04-22 00:23:37.0
你用struts2怎么实现验证码的?
先说一下我实现验证码基本代码:
这是Admin_Left.jsp的代码
JScript code
<script type="text/javascript">           /*            注册dojo事件用来显示验证码        */                      dojo.addOnLoad(function() {          dojo.event.topic.subscribe('/retrieveUser', this, function(data, type, e){          if(type == 'load') {                    showUser(data);                } else if(type == 'error') {                    alert('Can not retrieve the Vocde');                }            });        });        function showUser(strUser) {                  var UserHolder = document.getElementById('im');            UserHolder.src ='getVocde.action';                    }        </script><s:url id="userUrl" value="getVocde.action" /><td colspan="2">                                    验证码                                    <input maxlength="4" size="2" name="logon.vcode">                                    <img border="0" src="getVocde.action" width="57" height="22" id="im"                                         align="middle">                                    <a target="main" href="MyCountManager/BSP_User_getpass.jsp">&nbsp;找回密码</a>&nbsp;&nbsp;                                    <sx:a  href="%{userUrl}"  notifyTopics="/retrieveUser">看不清,换一张</sx:a>


下面是action的代码:
Java code
@Action(value ="getVocde", results = {@Result(name = "input",  type = "stream",params={"contentType", "image/jpeg", "contentDisposition", "filename=document.jpeg","bufferSize", "1024"})})    public String execute()throws IOException {        VImage v=new VImage();          //这是生成验证码的servlet        try {            v.doGet(ServletActionContext.getRequest(), ServletActionContext.getResponse());        } catch (ServletException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        }        return "input";    }


我的问题很简单,就是单击“看不清,换一张”这个链接时,本来是只想更新<img id="im"/>这里的验证码,但结果是被跳转到另一个页面,这个页面就只有验证码这张图片。。。。?
我想可能是我后台传回来的是一张图片,所以点击这个链接就直接显示图片了?这该怎么改?没想出来





------解决方案--------------------
你可以再显示图片的那个链接里面链接到那个struts里面的action
------解决方案--------------------
或者你可以使用ajax实现异步刷新
------解决方案--------------------
一个验证码还用得着异步刷新吗
我的做法是用jsp做一个验证码页
如:img.jsp
然后在<img src="img.jsp"/>这样就实现验证码效果了
具体img.jsp怎么写 本人空间代码里有 希望对你有用
------解决方案--------------------
探讨

引用:

引用:

一个验证码还用得着异步刷新吗
我的做法是用jsp做一个验证码页
如:img.jsp
然后在<img src="img.jsp"/>这样就实现验证码效果了
具体img.jsp怎么写 本人空间代码里有 希望对你有用


得用"看不清,换一张"这个链接刷新

来了看一下
  相关解决方案