将h:outputText中的String转换为capitalize String?

use*_*524 9 java jsf seam

如何在h:outputText中转换字符串?这是h:outputText的代码:

<h:outputText value="#{item.label} : " />
Run Code Online (Sandbox Code Playgroud)

我试过用这个,

<s:convertStringUtils format="capitalize" trim="true"/>
Run Code Online (Sandbox Code Playgroud)

但它给了我错误:"没有为name定义标记:convertStringUtils"

Bal*_*usC 20

有几种方法.

  1. 使用CSS text-transform: capitalize属性.

    <h:outputText value="#{bean.text}" styleClass="capitalized" />
    
    Run Code Online (Sandbox Code Playgroud)

    .capitalized {
        text-transform: capitalize;
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 创建自定义Converter.

    <h:outputText value="#{bean.text}" converter="capitalizeConverter" />
    
    Run Code Online (Sandbox Code Playgroud)

    @Override
    public String getAsString(FacesContext context, UIComponent component, Object modelValue) {
        if (modelValue == null || ((String) modelValue).isEmpty()) {
            return null;
        }
    
        String string = (String) modelValue;
        return new StringBuilder()
            .append(Character.toTitleCase(string.charAt(0)))
            .append(string.substring(1))
            .toString();
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 使用OmniFacesof:capitalize()功能.

    <html ... xmlns:of="http://omnifaces.org/ui">
    ...
    <h:outputText value="#{of:capitalize(bean.text)}" />
    
    Run Code Online (Sandbox Code Playgroud)

<s:convertStringUtils>煤层其中你想不是.它来自MyFaces Sandbox.