【问题标题】:How can I manipulate a String in a JSF tag?如何操作 JSF 标记中的字符串?
【发布时间】:2011-10-26 11:18:33
【问题描述】:

鉴于此代码,

<rich:dataTable id="list" value="#{testBeen.dataModel}" var="test" rows="#{testBeen.dataModel.pageSize}">
    ...
    <h:outputText value="#{test.WEEK}" />  

我需要操作#{test.WEEK} 并将字符) 替换为],我该怎么做?

我尝试了以下方法,但它不起作用:

<%String a = test.WEEK; a.replace("a", "b"); %>
<%=a %>

如何从 JSF 获取字符串并将其传递回 JSF?

【问题讨论】:

    标签: java jsp jsf


    【解决方案1】:

    为了这个特别简单的目的,我只使用JSTL functions 标签库。有一个fn:replace() 函数。

    例如

    <%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
    ...
    <h:outputText value="#{fn:replace(test.WEEK, ')', ']')}" />  
    

    您确实应该从不在 JSF 页面中使用 scriptlets &lt;% %&gt;

    【讨论】:

    【解决方案2】:

    您可以编写自定义转换器并通过搜索和替换字符串对其进行参数化。 看这篇介绍JSF for nonbelievers: JSF conversion and validation

    【讨论】:

      【解决方案3】:

      好的做法是在 bean 中而不是在 facelet 中执行此操作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-11-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多