jslt etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
jslt etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

12 Ekim 2014 Pazar

jslt koşullu seçenekler(choose when otherwise)

Merhaba arkadaşlar,
Aslında daha önceden size jslt tarafında koşullu ifadelerin nasıl tanımlanacağını paylaşmıştım. Ancak Internet üzerinde bir araştırma yaparken stackoverflow da gözüme çarpan bir açıklama oldu. Önceki yazıyı kirletmeden yeni bir başlık altında sizlere de paylaşayım istedim. Kullanım sade ve anlaşılır olduğu için orijinal haline dokunmadan paylaşıyorum:


<c:choose>
  <c:when test="${condition1}">
    ...
  </c:when>
  <c:when test="${condition2}">
    ...
  </c:when>
  <c:otherwise>
    ...
  </c:otherwise>
</c:choose>


<c:if test="${temperature eq 'HOT' || temperature eq 'VERYHOT'}">



14 Eylül 2014 Pazar

Spring MVC ve JSLT ile controllerdan(java) view'a(jsp) değer göndermek-2 (Foreach + If)

Merhaba, bir önceki yazımda controllerdan aldığımız değerleri view katmanında nasıl listeleyeceğimizi görmüştük. Bu yazımda ise sizlere controllerdan set edilen değerleri listelerken If kontrolünün nasıl yapılacağını ve array lerin nasıl listeleneceğini inceleyeceğiz.

Yine intelliJ ile bir web(spring MVC) projesi oluşturarak işe başlayacağız.
projemizin bitmiş halinin görünümü(Hiyerarşik yapı) aşağıdaki gibi olacaktır.



ilk olarak controllerda bilgiler ve diller diye iki farklı arrayList tanımladım. diller ; programlama dilleri bilgisini tutacak  , bilgiler ise kişi bilgilerini(ad,soyad) tutacak.
NOT: Normal şartlarda bilgileri arrayListte tutmak size anlamsız gelebilir ancak jsp(view) sayfasında farklı iki foreach ve if kullanımına yer verdim. Kullanımlardaki farklılıkları daha kolay inceleyebilmeniz için böyle bir yöntem tercih ettim.

ListController.java 
    @RequestMapping(value = "/", method = RequestMethod.GET)
    public ModelAndView index() {
        ModelAndView mv = new ModelAndView("index"); // index sayfasına gider

        HashMap<String, String> hashMap = new HashMap<String, String>();
        hashMap.put("adi", "Levent");
        hashMap.put("soyadi", "YILDIZ");

        ArrayList bilgiler = new ArrayList();
        bilgiler.add(hashMap);

        mv.addObject("bilgiler", bilgiler);

        List<String> list = new ArrayList<String>();
        list.add("C");
        list.add("Java");
        list.add("C++");
        list.add("C#");
        list.add("phyton");

        mv.addObject("diller", list);

        return mv;
    }


bu bilgileri ekrana basabilmek için yine bir önceki yazımda olduğu gibi jslt yi maven'a ekliyoruz.
pom.xml
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>



maven'a ekledikten sonra yine jsp sayfasının en üstünde jslt core'u çağırıyoruz.

index.jsp
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>


bu işlemlerden sonra arraylist'i foreach ile ekrana basabiliriz.

index.jsp
<%--kullanım 1--%>
<c:forEach var="bilgi" items="${bilgiler}">
    <c:choose>
        <c:when test="${bilgi.adi!=null && bilgi.adi!=''}">
            <p> Adi :  ${bilgi.adi} &nbsp;</p>
        </c:when>
    </c:choose>
    <c:choose>
        <c:when test="${bilgi.soyadi!=null && bilgi.soyadi!=''}">
            <p> Soyadi :  ${bilgi.soyadi} &nbsp;</p>
        </c:when>
    </c:choose>
</c:forEach>


 index.jsp
<%--kullanım2--%>
<c:if test="${not empty diller}">

    <ul>
        <c:forEach var="listLangs" items="${diller}">
            <li>${listLangs}</li>
        </c:forEach>
    </ul>

</c:if>


üstteki kodları projenize ekleyip çalıştırdığınızda controllerdan doldurulan diller(Programlama Dilleri)  ve bilgiler(Kullanıcı Bilgileri) ekrana yazdırılacaktır. Ekran çıktısı aşağıdaki gibi olacaktır.

kaynak dosyalar(github) : indirmek için tıklayın

Spring MVC ve JSLT ile controllerdan(java) view'a(jsp) değer göndermek

Merhaba,
bu yazımda size Spring ile controller dan view'a listelenecek verilerin nasıl gönderildiğini anlatacağım.

Öncelikli olarak inteliJ ile web(spring MVC ) projesi oluşturuyoruz.

projenin yapısı  aşağıdaki gibi olacaktır.


projeyi oluşturduktan sonra yapacağımız işlemleri sırasıyla ve en kısa haliyle yazıyorum;
  • pom.xml(maven) dosyasına jslt core 'u eklemek. 
  • Controller içinde listelenecek değerleri set etmek.
  • view kısmında(Jsp sayfası) bu değerleri ekrana basmak (tabi öncelikle jsp sayfasında  jslt core u çağırmak).


jslt yi maven'a eklemek için
pom.xml 
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>



controllerda değişkenleri set etmek için.
 ListController.java
    @RequestMapping(value = "/" , method = RequestMethod.GET)
    public ModelAndView index(){
        ModelAndView mv = new ModelAndView("index"); // index sayfasına gider
        mv.addObject("adi","levent");
        mv.addObject("soyadi","YILDIZ");
        return mv;
    }

index.jsp de göstermek için adı ve soyadı diye iki değer set edip addObject metoduyla bu derğerleri  springin  ModelAndView nesnesine ekliyoruz.



 index.jsp
<b>Adi :</b> ${adi}
<hr/>
<b>Soyadi : </b> ${soyadi}

controller tarafında doldurduğumuz adi ve soyadi değerlerini ekrana basmak için  ${değişken adi} şeklinde kodlama yapıyoruz. Bu sayede controller da dolan adı ve soyadı değişkenleri ekrana yazılacaktır.


Yazının başında da belirttiğim üzere sadece controllerda değer set edip view da ekrana yazdırdık. Bir sonraki yazımda  List(ArrayList)  tanımlama yapıp view katmanında göstereceğim.


kaynak dosyalar(github) : indirmek için tıklayın