• Startseite
  • Über mich
  • Portfolio
    • Eventmanagement
    • Technologie
      • Multitouch-Surface
      • Multitouch-Table
    • Smartphone-Apps
    • Unternehmen
    • Presse
  • Programmierung
  • Auto
  • Wirtschaftsinformatik

Patrick Hütter

Mein Blog rund um Softwareentwicklung, Online-Marketing, StartUps, Gründung, Unternehmertum, Trends and more

BurningImage Grails Plugin: Erweiterte TagLib bi:hasNoImage

0
  • by Patrick Hütter
  • in Programmierung
  • — 24 Mrz, 2011

Jeder der das Plugin burningimage in seinem Grails Projekt benutzt um Bilder/Grafiken in Datenbanken oder im Dateisystem abzulegen wird irgendwann feststellen, dass es in den Views nicht möglich ist, zu prüfen, ob die Domain-Klasse „kein“ Bild hält um dementsprechend bei fehlendem Bild besonderen Inhalt einzublenden. Vor diesem Problem stand ich und habe dementsprechend mit freundlicher Hilfe vom burningimage-Entwickler (burningice) eine spezielle TagLib entwickelt, die mir das Tag bereit stellt.

Funktioniert nicht:

<g:if test="${domainInstance.imageField == null}>Content</g:if>

Lösung:
Man erstellt eine neue TagLib mit

create taglib

und nennt sie am besten „ExtendedBurningImageTagLib“.
Danach kopiert man einfach den folgenden Quelltext in die TagLib

package Packagename

class ExtendedBurningImageTagLib {
 static namespace = 'bi'

  def hasNoImage = { attrs, body ->
  if (bi.hasImage(attrs, body)){
	  return
  }
  out << body()
  }
}

und hat nach einem Neustart der Software in seinen Views das Tag

<bi:hasNoImage bean="${domainInstance}">Content to display when domainInstance has no images.</bi:hasNoImage>

zur Verfügung.

 

Share

Tags: GrailsGroovyJava

— Patrick Hütter

Patrick ist Gründer und Geschäftsführer der encircle360 GmbH. Er liebt Technologie und kennt sich sehr gut im Bereich Softwareentwicklung, u.a. auf JVM basierten Technologien wie Spring Boot, VertX, Akka, Groovy, Scala & Elasticsearch aus.

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

  • Previous story Woltlab Burning Board 3 / wBB3 / WCF – E-Mail Adressen der User verstecken
  • Next story Eclipse Keyboard/Tastatur Shortcuts
  • Du suchst richtig gute Beratung im Bereich Software & IT?

    encircle360
  • Neueste Beiträge

    • Running headscale with headscale-admin (UI), letsencrypt & docker-compose in dual stack with IPv4 and IPv6
    • Groovy & Grails suchen einen neuen Hauptsponsor
    • Unitymedia DNS Probleme und Lösungsmöglichkeiten für Mac OS X, Windows und den eigenen Router
    • Running Grails applications on the Raspberry Pi
    • [HowTo] Build groovy project and package as jar (with all dependencies) for easy distribution with gradle
  • Neueste Kommentare

    • nototok bei Running headscale with headscale-admin (UI), letsencrypt & docker-compose in dual stack with IPv4 and IPv6
    • Muiz bei Running headscale with headscale-admin (UI), letsencrypt & docker-compose in dual stack with IPv4 and IPv6
    • John Tucker bei Running headscale with headscale-admin (UI), letsencrypt & docker-compose in dual stack with IPv4 and IPv6
    • Bastlerwastl bei HowTo: Squid Proxy Server unter Debian schnell eingerichtet
    • PatrickHuetter bei So geht’s: Macbook mit zwei externen Monitoren verbinden
  • Kategorien

    • Allgemein
    • Android
    • Code-Snippets
    • Datenbanken
    • Elektrotechnik
    • Licht
    • Linux
    • Mac
    • Messe
    • Online-Marketing
    • Programmierung
    • Projektmanagement
    • SEM
    • SEO
    • Server
    • Shell
    • Social Media
    • Web
  • Weiterführende Links

    • Price API
    • encircle360
    • sellytics
  • Impressum
  • Datenschutz

© Patrick Hütter