单击ajax enabled命令链接后图像未更新

时间:2014-05-30 09:43:45

标签: ajax image jsf captcha

我正在为我的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页面中更新。 Thanx任何有用的回复!

2 个答案:

答案 0 :(得分:0)

使用执行和渲染标记

尝试以下代码
<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>

答案 1 :(得分:-1)

您需要使用更新属性。

看看 -

<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>

希望这会起作用