我有图片,想调用存储在bean中的方法。我在考虑
<h:graphicImage value="DisplayImage?id=1&stuff=photo&mainID=main"
onclick="
alert('clicked me 1');
#{PersonalInformationDataBean.doSaveImage()};
alert('clicked me 2');
" styleClass="modal"/>
我期待#{PersonalInformationDataBean.doSaveImage()};
能够正常工作,但这不起作用。我只是clicked me 1
知道如何完成这项工作吗?
忘记更新我在 JSP页面中执行此操作。
答案 0 :(得分:1)
怎么回事这个
<h:graphicImage value="DisplayImage?id=1&stuff=photo&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')
OR
<h:commandLink>
<f:ajax event="action" listener="#{PersonalInformationDataBean.doSaveImage()}"/>
<h:graphicImage value="DisplayImage?id=1&stuff=photo&mainID=main"
styleClass="modal"/>
</h:commandLink>
答案 1 :(得分:0)
我假设`#{PersonalInformationDataBean.doSaveImage()};是您在服务器中定义的函数,它不是javascript对象方法。如果我错了,请纠正我。
这里的问题是你试图从客户端javascript访问服务器端方法。由于HTTP是无状态协议,因此您需要一些中间技术来访问这些方法。
DWR是一个功能强大的工具,可以让您完全 。看看http://directwebremoting.org/dwr/documentation/index.html。我已经无数次地使用它,它永远不会失败。