Zeichnen Sie jcaptcha mit Ajax neu, indem Sie auf die Schaltfläche zum erneuten Laden klicken Wenn Sie den gesamten Bildschirm neu laden, wird auch jcaptcha neu geladen ...
xhtml
<!--jcaptcha Anzeige-->
<div class="jcaptchaItemBlook">
<h:graphicImage id="jcaptchaImage" value="/jcaptcha" />
</div>
<!--Ajax-Montageteil-->
<h:commandButton class="jcaptchaReloadBtn" value="Bildaktualisierung" immediate="true">
`<f:ajax listener="#{controller.reload}" render="jcaptchaImage" event="click" />
</h:commandButton>
java
public String reload() throws CaptchaServiceException {
return "#{request.contextPath}/jcapcha" + Math.floor(Math.random() * 100);
}
xhtml
<!--jcaptcha Anzeige-->
<div class="jcaptchaItemBlook">
<img id="jcaptchaImage" src="#{request.contextPath}/jcaptcha" />
</div>
xhtml
<!--jcaptcha Anzeige-->
<div class="jcaptchaItemBlook">
<p:graphicImage id="jcaptchaImage" value="/jcaptcha" cache="false" />
</div>
xhtml
<!--jcaptcha Anzeige-->
<h:panelGroup class="jcaptchaItemBlook">
<p:graphicImage id="jcaptchaImage" value="/jcaptcha" cache="false" />
</h:panelGroup>
<!--Ajax-Montageteil-->
<h:commandButton class="jcaptchaReloadBtn" value="Bildaktualisierung" immediate="true">
<f:ajax listener="#{controller.reload}" render="jcaptchaImage" event="click" />
</h:commandButton>
java
@Getter
@Setter
private String captchaImage;
public void reload() throws CaptchaServiceException {
this.setCaptchaImage("/jcaptcha");
}
http://d.hatena.ne.jp/kaiseh/20090502/1241286415 http://www.in-vitro.jp/blog/index.cgi/Library/20050827_01.html
https://yoshio3.com/2011/01/18/jsf-20-ajax-support/ https://stackoverflow.com/questions/5822665/jcaptcha-refresh-only-image-not-whole-page
https://www.primefaces.org/docs/vdl/4.0/primefaces-p/graphicImage.html http://download.oracle.com/otn-pub/jcp/jsf-2.0-fr-eval-oth-JSpec/jsf-2_0-fr-spec.pdf
Recommended Posts