• 16-11-2016, 10:30:25
    #1
    Selamlar arkadaşlar
    Spring maven java js ile geliştirdiğim bir proje var bir noktada takıldım.

    Server faces kısmında yani(xhtml) kısmında söyle bir kod parçacğı var
      <img
                                                    src="link/foto/#{user.employeeNumber}.jpg" class="sdars"/>
    user.employeeNumber bize 6854 gibi bir string getiriyor. link ile .jpg olunca firmanın kullanıcı resimlerini çekiyor. Bazı resimler silinmiş. link geliyor ama resime ulaşılmıyor. Resime ulaşılmayan kullanıcının standart bir resim basması lazım. Ortalama olarak tüm resimler 300*300 den büyükse bu olsun eğer olmazsa nophoto.jpg bassın istiyorum.

    İnternette baktığımda
    c:choose>
    <c:when test="${empty user}">
    I see! You don't have a name.. well.. Hello no name
    </c:when>
    <ctherwise>
    <%@ include file="response.jsp" %>
    </ctherwise>
    </c:choose>

    bu tarz seyler var.

    Bunu yapabilecek varmı ?
  • 16-11-2016, 10:38:11
    #2
    Bu fonksiyonu ekle.
    import java.net.*;
    import java.io.*;
    
    public static boolean exists(String URLName){
        try {
          HttpURLConnection.setFollowRedirects(false);
          // note : you may also need
          //        HttpURLConnection.setInstanceFollowRedirects(false)
          HttpURLConnection con =
             (HttpURLConnection) new URL(URLName).openConnection();
          con.setRequestMethod("HEAD");
          return (con.getResponseCode() == HttpURLConnection.HTTP_OK);
        }
        catch (Exception e) {
           e.printStackTrace();
           return false;
        }
      }
     <img src="#(exists('link/foto/'+${user.employeeNumber}+'.jpg') ? 'link/foto/'+#{user.employeeNumber}+'.jpg' : 'default.jpg' )" class="sdars"/>
    If'in yazımında hata olabilir, daha önce yazmadım spring, mantık olarak yardımcı olabilir sana.
  • 16-11-2016, 10:40:19
    #3
    SanaCokYakisir adlı üyeden alıntı: mesajı görüntüle
    Bu fonksiyonu ekle.
    import java.net.*;
    import java.io.*;
    
    public static boolean exists(String URLName){
        try {
          HttpURLConnection.setFollowRedirects(false);
          // note : you may also need
          //        HttpURLConnection.setInstanceFollowRedirects(false)
          HttpURLConnection con =
             (HttpURLConnection) new URL(URLName).openConnection();
          con.setRequestMethod("HEAD");
          return (con.getResponseCode() == HttpURLConnection.HTTP_OK);
        }
        catch (Exception e) {
           e.printStackTrace();
           return false;
        }
      }
     <img src="#(exists('link/foto/'+${user.employeeNumber}+'.jpg') ? 'link/foto/'+#{user.employeeNumber}+'.jpg' : 'default.jpg' )" class="sdars"/>
    If'in yazımında hata olabilir, daha önce yazmadım spring, mantık olarak yardımcı olabilir sana.
    Koda ulaştığım an ekleyeceğim hocam çok teşekkürler
  • 16-11-2016, 11:03:52
    #4
    Özgür adlı üyeden alıntı: mesajı görüntüle
    Koda ulaştığım an ekleyeceğim hocam çok teşekkürler
    Birde yanlış yapmışım üstad fonksiyonu, o direk server üzerinden urlden kontrol sağlıyor bu dosya sisteminden.

    public static boolean exists(String PathName){
      
     File f = new File(PathName);
    
    	  if(f.exists()){
    		  return true;
    	  }else{
    		  return false;
    	  } 
      }
  • 16-11-2016, 11:16:01
    #5
    SanaCokYakisir adlı üyeden alıntı: mesajı görüntüle
    Birde yanlış yapmışım üstad fonksiyonu, o direk server üzerinden urlden kontrol sağlıyor bu dosya sisteminden.

    public static boolean exists(String PathName){
      
     File f = new File(PathName);
    
    	  if(f.exists()){
    		  return true;
    	  }else{
    		  return false;
    	  } 
      }
    URL yi kontrol etmesi daha mantıklı olur hocam