Merhabalar,

Springde form validating ile ilgili bir problemim var, şöyle ki; aşağıdaki sayfaya girdiğim zaman countryList ile jsp de dropdown içinde ülkeleri listeliyorum.

@RequestMapping("/admin/bolgeUpdate/addBolge") public String addBolge(Model model){

    List<Ulkeler> ulkeler= ulkeDao.getAll();
    Map<String,String> country = new LinkedHashMap<String,String>();
    for(Ulkeler ulke:ulkeler){
        country.put(ulke.getUlkeAd(), ulke.getUlkeAd());

    }

    model.addAttribute("countryList", country);

    return "bolgeEkle";

}

form yapımda validatinge giren kısımlar da aşağıdaki gibidir. <label for="name">Ad</label> <form:errors path="bolgeAdi" cssstyle="color: #ff0000;"/> <form:input path="bolgeAdi" id="name" class="form-control"/>

            <div class="form-group">

            <label for="country">Ulke</label> <form:errors path="bolgeUlke" cssStyle="color: #ff0000;" />
            <form:select path="bolgeUlke" id="country" items="${countryList}" cssClass="form-control" onchange="" >

. </form:select>

formda bolge adi inputunu bos bıraktığımda, ve formu post ettiğimde aşağıdaki map e giriyor ve sayfada doldurulması gereken alanları belirtiyor. @RequestMapping(value="/admin/bolgeUpdate/addBolge",method=RequestMethod.POST) public String addBolgePost(@Valid @ModelAttribute("bolge") Bolgeler bolge,BindingResult result,HttpServletRequest request){//commandName deki degisken

     if(result.hasErrors())
      {
          return "bolgeEkle";
     }
     bolgeDao.addBolge(bolge);
    return "redirect:/admin/bolgeUpdate";
}

Fakat bu noktada dropdown a yüklenmesi gereken ülkeler yüklenmiyor. dropdown tamamen boş geliyor. Bu sorunun nerden kaynaklandığını , nasıl çözebileceğimi söylerseniz sevirim. iyi günler dilerim.

soruldu: 22 May, 10:15

seyid21's gravatar image

seyid21
111510
cevap kabul oranı: 50%


basit bir yeri atlamışım sorun bundan kaynaklıymış. hata meydana geldikten sonra tekrar listeyi doldurmak gerekiyor

if(result.hasErrors()) {

    List<Ulkeler> ulkeler= ulkeDao.getAll();
    Map<String,String> country = new LinkedHashMap<String,String>();
    for(Ulkeler ulke:ulkeler){
    country.put(ulke.getUlkeAd(), ulke.getUlkeAd());

    }
    model.addAttribute("countryList", country);
             return "bolgeEkle";
    }
permanent link

cevaplandı: 22 May, 10:22

seyid21's gravatar image

seyid21
111510
cevap kabul oranı: 50%

değiştirildi: 22 May, 10:23

1

Tam bu cevabı gönderiyordum ki butonuna basmadan metni kopyalayıp kontrol edeyim dedim cevap gelmiş mi diye:)

Konu dışı olacak ancak, isimlendirmelerine dikkat etmende yarar var. "İngilizce olmalı" kardeşim diye keskin bir görüşe sahip değilim ancak bir listeyi temsil eden nesneye "country" adını vermek zamanla kafa karışıklığına sebep olabilir. Ve bir de, "Bolgeler" adında bir sınıf oluşturup, "bolge" adı ile alman da aynı şekilde kafa karıştırabilir. "Bolge bolge", "List<bolge> bolgeler" gibi... Ayrıca gerekli değilse, bir listeyi temsil eden nesne için Map yerine List kullanmak iyidir.

(22 May, 10:38) acemi acemi's gravatar image

doğru söylüyorsunuz, aceleyle yaptığımdan dolayı bu tür şeyleri göremiyorum bazen.isimlendirme ile ilgili gerçekten sorunlarım oldugunun farkındayım:) önerileriniz için teşekkür ederim.

(22 May, 11:23) seyid21 seyid21's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×111
×42
×5

Soruldu: 22 May, 10:15

Görüntüleme: 190 kez

Son güncelleme: 22 May, 11:23

powered by BitNami OSQA