2009-01-27 17 views

Respuesta

14

Una alternativa a la transformación de la cadena en el servidor es let CSS do the work:

text-transform: capitalize 
+0

genial. Me ayudó, ya que necesitaba el Title Case solo para propósitos de presentación, CSS sería una mejor solución. Gracias. –

+0

¿Por qué siempre se busca una respuesta compleja? ¡Tu solución es realmente la mejor! – romaintaz

+3

En cierto modo, esta no es una muy buena respuesta a "cómo puedo hacerlo en JSTL". Me gusta la explicación de romaintaz, ya que cubre mejor cómo alguien podría hacerlo en JSTL. –

8

Una idea:

En una clase, crear un método simple que utiliza las WordUtils de Apache Commons Lang que manipular su cadena:

import org.apache.commons.lang.WordUtils; 

... 

public static String titleCase(String input){ 
    return WordUtils.capitalize(input);; 
} 

Y ahora, crear su propia etiqueta (en una function.tld):

<?xml version="1.0" encoding="UTF-8" ?> 
<taglib xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" 
    version="2.0"> 
    <description>functions library</description> 
    <display-name>functions</display-name> 
    <tlib-version>1.1</tlib-version> 
    <short-name>xfn</short-name> 
    <uri>http://yourdomain/functions.tld</uri> 
    <function> 
    <description> 
     Title case a String 
    </description> 
    <name>titleCase</name> 
    <function-class>Functions</function-class> 
    <function-signature>java.lang.String titleCase(java.lang.String)</function-signature> 
    <example> 
     ${xfn:titleCase(string)} 
    </example> 
    </function> 
</taglib> 

PS: yo estaba muy inspirado desde this post para dar mi respuesta.

+0

El esta buscando Título del caso no todas mayúsculas –

+0

El El método capitalize() no transforma tu String en mayúsculas. Eventualmente, StringUtils.capitalize (StringUtils.lowerCase (theString))! – romaintaz

+1

Tal vez no estaba disponible al momento de responder, pero también puede usar capitalizeFully en WordUtils. Maneja palabras que ya son todo mayúsculas. –

7

No es demasiado duro estupendo en JSTL ...

${fn:toUpperCase(fn:substring(user.firstName, 0, 1))}${fn:toLowerCase(fn:substring(user.firstName, 1, -1))} 
Cuestiones relacionadas