He estado utilizando JSF + RF durante más de 2 años y no he tenido la oportunidad de ampliar las capacidades existentes de los componentes.Ampliar h: Texto de salida para funcionalidad personalizada
Ahora el requisito es que tengo que recortar la cuerda y mostrarla si tiene más de 25 caracteres.
Esto se ha logrado de la siguiente manera
<c:choose>
<c:when test="#{fn:length(teststep.name) > 25}">
<h:outputText title="#{teststep.name}" value="#{fn:substring(teststep.name, 0, 25)}..."/>
</c:when>
<c:otherwise>
<h:outputText title="#{teststep.name}" value="#{teststep.name}"/>
</c:otherwise>
</c:choose>
Pero utilizar este código en muchos muchos lugares (y quiera evitar código estándar de 8 líneas everytime) por lo que se cree de la costumbre h: outputText para proporcionar funcionalidad de ajuste.
Podría usted, hágamelo saber cómo iba a escribir una etiqueta personalizada en JSF
Saludos, Satya
He probado la primera solución y esa no me impresiona :) pero le gustaría hacer algo como . ¿Es posible que todavía conserve características de h: outputText y solo agregue algunas capacidades más? –
Satya
Haré una prueba para la tercera opción, parece ser algo nuevo para mí :). Muchas gracias BalusC – Satya
Agregar un nuevo atributo a un componente existente solo es posible mediante un componente personalizado, no una etiqueta personalizada. Este es un trabajo muy tedioso. Debe copiar ** todos los atributos de etiqueta existentes, ya que no es posible heredarlos de las etiquetas existentes. Más fácil sería proporcionar el atributo adicional como '' y anular el 'Renderer' predeterminado. –
BalusC