java如何在JSF 2.0中为一键操作设置两个ajax事件
我必须实现一个场景,比如更改图像并相应地显示文本。意味着同时有两个ajax。。。所以我写了一个这样的代码,但是图像在变化,它在工作,但是文本没有显示。 文本在刷新该页面后出现,即文本被替换,但不显示。。。。。 代码是:
<h:commandLink class="SampleImageCSS">
<h:graphicImage id="sample2" alt="No iamge to display"
value="#{carDetails.carUrl2}" height="100" width="100"
title="Car For Beeding" />
<f:setPropertyActionListener target="#{carDetails.rootImage}"
value="#{carDetails.carUrl2}" />
<f:setPropertyActionListener target="#{carDetails.view}"
value="#{carDetails.viewDetails['carUrl2']}" />
<f:ajax event="action" render="rootImage">
</f:ajax>
<f:ajax event="action" render="ViewId">
</f:ajax>
</h:commandLink>
如何激发ajax请求以同时完成两项工作?? 烂豆:
public class CarDetails {
private int id;
private String carUrl1;
private String carUrl2;
private String carUrl3;
private String carUrl4;
private String carUrl5;
private String carUrl6;
private String view;
public String getView() {
return view;
}
public void setView(String view) {
this.view = view;
}
HashMap<String, String> viewDetails = new HashMap<String, String>();
public HashMap<String, String> getViewDetails() {
return viewDetails;
}
public void setViewDetails(HashMap<String, String> viewDetails) {
this.viewDetails = viewDetails;
}
//other getter setter
public CarDetails(){
carUrl1="http://www.screamingtiger.com/images/car1.jpg";
carUrl2="http://www.allbestwallpapers.com/tagwallpaper/convertible%20car-wallpapers.jpg";
carUrl3="http://media.treehugger.com/assets/images/2011/10/ec-rnd-005.jpg";
carUrl4="http://www.urbadriver.com/wp-content/uploads/2010/12/car.jpg";
carUrl5="http://www.businessfinancemag.info/wp-content/uploads/2011/01/car_loans.jpg";
carUrl6="http://cars-wallpapers.eu/images/Old_cars/00000018.jpg";
rootImage="http://www.screamingtiger.com/images/car1.jpg";
viewDetails.put("carUrl1", "Front view");
viewDetails.put("carUrl2", "Right Side View");
viewDetails.put("carUrl3", "Top or Plan View");
viewDetails.put("carUrl4", "Rear view");
viewDetails.put("carUrl5", "Back view");
viewDetails.put("carUrl6", "Bottom View");}}
# 1 楼答案
简单的一个在谷歌得到它之后
通过编写类似
<f:ajax event="action" render="rootImage ViewId">
的代码来解决这个问题,而不是编写两个单独的ajax请求