1

画像を変更し、それに応じてテキストを表示するようなシーンを実装する必要があります。同時に2つの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>

同時に2つの仕事をするために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");}}
4

1 に答える 1

1

いくつかのグーグルがそれを取得した後の単純なもの...

<f:ajax event="action" render="rootImage ViewId">2 つの別々の ajax リクエストではなく、ようなコードを記述することで解決しました。

于 2012-07-13T11:07:57.597 に答える