2009-01-27 5 views

Antwort

14

Eine Alternative die Zeichenfolge auf dem Server zu verwandeln ist zu let CSS do the work:

text-transform: capitalize 
+0

cool. Es half, da ich den Title Case nur zu Präsentationszwecken brauchte, wäre CSS eine bessere Lösung. Vielen Dank. –

+0

Warum immer nach einer komplexen Antwort suchen? Ihre Lösung ist wirklich die beste! – romaintaz

+3

In gewisser Weise ist dies keine sehr gute Antwort auf "wie kann ich es in JSTL tun". Ich mag die Erklärung von Romantaz, da es besser beschreibt, wie jemand es in JSTL machen kann. –

8

Eine Idee:

In einer Klasse, eine einfache Methode erstellen, die die WordUtils von Apache Commons Lang verwendet, die Ihren String manipulieren:

import org.apache.commons.lang.WordUtils; 

... 

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

Und nun, Ihren eigenen Tag (in a erstellen 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: ich war ganz von this post inspiriert meine Antwort zu geben.

+0

nicht –

+0

Die Die capitalize() -Methode transformiert Ihre Zeichenfolge nicht in Großbuchstaben! Eventuell StringUtils.capitalize (StringUtils.lowerCase (theString))! – romaintaz

+1

Vielleicht war es zum Zeitpunkt der Beantwortung nicht verfügbar, aber Sie könnten auch in WordUtils capitalizeFully verwenden. Es behandelt Wörter, die bereits in Großbuchstaben geschrieben sind. –

7

Es in JSTL super hart Großbuchstaben Er sucht nach Titel Case nicht zu ist ...

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