如何从弹簧控制器方法更新html img src

How update html img src from spring controllers method?

本文关键字:更新 html img src 方法 控制器      更新时间:2023-09-26

我将 capcha 添加到我的 JSP 页面(kaptcha 库)。它看起来像这样

@RequestMapping(value = "/captcha.jpg", method = RequestMethod.GET)
    public void captcha(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.captcha(req, resp);
    }

和页面

<img src="captcha.jpg"/>

现在我需要创建按钮来更新此验证码。(或者当我点击验证码图像时)

我试过这个

<a href="captcha.jpg">
            <img src="captcha.jpg"/>
            </a>

但是当我单击图像时,它会单独打开。我只需要在点击后刷新验证码图像。

也许是javaScript,也许是别的什么?怎么做?

更新

我创造这个

<script>
                function update() {
                    document.getElementById('my-image').setAttribute('src', "captcha.jpg");
                }
            </script>
            <a href="" onclick="update()">
                <img src="captcha.jpg" id="my-image"/>
            </a>

它可以工作,但在 img 更新后我的页面向上滚动。 我该如何解决?

您的页面正在向上滚动,因为锚标记的默认行为是滚动到顶部,除非您为其提供 URL、要滚动到的元素或 javascript: 语句。

若要修复它,请将javascript:放在锚标记的href内,或者删除锚标记并将onclick事件放在图像上,如下所示:

<img src="captcha.jpg" id="my-image" onclick="update()" />