2009-01-27 19 views
10

में तारों को शीर्षक केस में कनवर्ट करना क्या जेएसटीएल टैग का उपयोग करके स्ट्रिंग को शीर्षक केस में परिवर्तित करने का कोई तरीका है?जेएसटीएल

अग्रिम में धन्यवाद।

उत्तर

14

सर्वर पर स्ट्रिंग बदलने के लिए एक वैकल्पिक let CSS do the work के लिए है:

text-transform: capitalize 
+0

ठंडा। इससे मदद मिली, क्योंकि मुझे केवल प्रस्तुति उद्देश्य के लिए शीर्षक केस की आवश्यकता थी, सीएसएस एक बेहतर समाधान होगा। धन्यवाद। –

+0

हमेशा जटिल उत्तर की तलाश क्यों करते हैं? आपका समाधान वास्तव में सबसे अच्छा है! – romaintaz

+3

एक तरह से, यह "जेएसटीएल में मैं इसे कैसे कर सकता हूं" का एक बहुत अच्छा जवाब नहीं है। मुझे रोमांटैज की स्पष्टीकरण पसंद है, क्योंकि यह बेहतर है कि जेएसटीएल में कोई इसे कैसे कर सकता है। –

8

एक विचार: (क में

import org.apache.commons.lang.WordUtils; 

... 

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

और अब, अपने खुद के टैग बनाने:

एक वर्ग में, एक सरल विधि अपाचे कॉमन्स लैंग से WordUtils का उपयोग करता है कि आपके स्ट्रिंग में हेरफेर बना 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> 

पुनश्च: मैं काफी मेरे जवाब देने के लिए this post से प्रेरित था।

+0

वह टाइटल केस नहीं सभी बड़े –

+0

की तलाश में capitalize() विधि अपरकेस में आपकी स्ट्रिंग को परिवर्तित नहीं करती है! आखिरकार StringUtils.capitalize करें (StringUtils.lowerCase (theString))! – romaintaz

+1

शायद यह उत्तर देने के समय उपलब्ध नहीं था, लेकिन आप WordUtils में पूंजीकरण का उपयोग भी कर सकते हैं। यह उन शब्दों को संभालता है जो पहले से ही सभी कैप्स हैं। –

7

यह भी सुपर JSTL में मुश्किल नहीं है ...

${fn:toUpperCase(fn:substring(user.firstName, 0, 1))}${fn:toLowerCase(fn:substring(user.firstName, 1, -1))} 
संबंधित मुद्दे