单击启用ajax的命令链接后,图像未更新



我正在为我的jsf项目编写验证码。我几乎做了所有的事情,但问题是图像的刷新。我想用ajax来做,这样当我点击图像时,它就会被新的替换。但当我点击它时,图像没有更新。但它会在重新加载页面后更新。

<h:form>
    <h:commandLink>
        <h:graphicImage value="/captcha/test.png"
            style="width:35mm;height:2cm;" />
            <f:ajax render="@all" listener="#{captcha.recaptcha()}"></f:ajax>
            </h:commandLink>
            </h:form>

每次我点击图像时,它在磁盘上被更改,但在html页面中没有更新。谢谢你的回复!

尝试使用以下代码执行和呈现标记

<h:form>
   <h:commandLink>
      <h:graphicImage value="/captcha/test.png" style="width:35mm;height:2cm;" />
         <f:ajax render="@form" execute="@form" listener="#{captcha.recaptcha()}" />
   </h:commandLink>
</h:form>

您需要使用update属性。

看一看-

<h:form id="form1">
<h:commandLink>
    <h:graphicImage value="/captcha/test.png"
        style="width:35mm;height:2cm;" id="img1"/>
        <f:ajax render="@all" listener="#{captcha.recaptcha()}" update=":form1:img1"></f:ajax>
        </h:commandLink>
        </h:form>

希望能成功

相关内容

  • 没有找到相关文章

最新更新