Lo + Leído
Eventos destacados
Artículos para tus primeros pasos
Si estás empezando a introducirte en el mundo de Groovy y Grails, no te pierdas nuestros artículos básicos:
- Introducción a Groovy, parte 1 (Andrés Almiray)
- Introducción a Groovy, parte 2 (Andrés Almiray)
- Introducción a Groovy, parte 3 (Andrés Almiray)
- Introducción a Grails (Material Seminario ImaginaWorks)
Entrevistas con los expertos
Los protagonistas te cuentan de qué van los proyectos más importantes del mundo Groovy:
Grails
Crear taglib en grails
Henry Stivens - sábado 13/12/2008Hola!
Estoy creando un taglib para ingresar la direccion de un lugar:
class DireccionTagLib {
def direccion = {attrs ->
def html = ""
def refList = [
C:"C",//Calle
K:"K",//Carrera
D:"D",//Diagonal
T:"T",//Transversal
SD:"SD"//Sin dato
];
def name = attrs['name']
def id = attrs['id'] ? attrs['id'] : name
def value = attrs['value'] ? attrs['value'] : ''
def dir0 = ''
def dir1 = ''
def dir2 = ''
def dir3 = ''
out << "<input type=\"hidden\" name=\"${name}\" value=\"struct\" />"
html += "<select name='${name}_0' id='${id}_0' >"
html += "<option value=''>- Seleccione -</option>"
refList.each {
html += "<option value='${it.key}'"
if(dir0 == it.key) {
html += " selected='selected'"
}
html += ">${it.value}</option>"
}
html += "</select> "
html += "<input type='text' name='${name}_1' id='${id}_1' size='6' maxlength='5' value='${dir1}' /> "
html += "#"
html += "<input type='text' name='${name}_2' id='${id}_2' size='6' maxlength='5' value='${dir2}' /> "
html += "-"
html += " <input type='text' name='${name}_3' id='${id}_3' size='6' maxlength='5' value='${dir3}' /> "
out << html
//out << "<input type=\"hidden\" name=\"${name}\" value=\"struct\" />"
//out << html
}
}
Pero el problema es que el atributo value simpre viene con valor null así haya seleccionado un elemento de la lista y escrito en los tres campos.
Y este es el código que utlizo en el .gsp:
<g:direccion name="denunciante.direccionDeResidencia" id="denunciante.direccionDeResidencia" value="${vif?.denunciante?.direccionDeResidencia}"></g:direccion>
¿Qué me hace falta hacer?
En este post en debugmodeon creando un taglib en grails se ve mejor el código.