0

イメージがあり、Bean に格納されているメソッドを呼び出したいと思います。考えていた

<h:graphicImage value="DisplayImage?id=1&amp;stuff=photo&amp;mainID=main" 
 onclick="
          alert('clicked me 1');
          #{PersonalInformationDataBean.doSaveImage()};
          alert('clicked me 2');
         " styleClass="modal"/>

私は動作することを期待してい#{PersonalInformationDataBean.doSaveImage()};ましたが、これは動作していません。私は警告を受けているだけですclicked me 1

これを行う方法はありますか?

更新 1

JSP Pageでこれを行っていることを更新するのを忘れてください。

4

2 に答える 2

1

このようなものはどうですか

<h:graphicImage value="DisplayImage?id=1&amp;stuff=photo&amp;mainID=main" 
 onclick="$('#myFormID\\:myButtonID').click();" styleClass="modal"/>
<h:commandButton id="myButtonID" action="#{PersonalInformationDataBean.doSaveImage()}" style="display:none">
    <f:ajax/>
</h:commandButton>

jqueryセレクターで少し遊ぶ必要があるかもしれませ$('#myFormID\\:myButtonID')$('#myButtonID')

また

<h:commandLink>
    <f:ajax event="action" listener="#{PersonalInformationDataBean.doSaveImage()}"/>
    <h:graphicImage value="DisplayImage?id=1&amp;stuff=photo&amp;mainID=main" 
    styleClass="modal"/>
</h:commandLink>
于 2012-07-28T18:03:19.767 に答える
0

`#{PersonalInformationDataBean.doSaveImage()}; と仮定しています。サーバーで定義した関数であり、javascript オブジェクト メソッドではありません。私が間違っている場合は修正してください。

ここでの問題は、クライアント側の JavaScript からサーバー側のメソッドにアクセスしようとしていることです。HTTP はステートレス プロトコルであるため、これらのメソッドにアクセスするには何らかの中間テクノロジが必要です。

DWR は、まさにこれを実現できる強力なツールです。http://directwebremoting.org/dwr/documentation/index.htmlを確認してください。私はこれを数え切れないほど使用しましたが、失敗することはありません。

于 2012-07-28T14:25:09.910 に答える