如何操作JSF标记中的String?

时间:2011-10-26 11:18:33

标签: java jsp jsf

鉴于此代码,

<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?

3 个答案:

答案 0 :(得分:16)

出于这个特殊的目的,我只使用JSTL functions taglib。有fn:replace()功能。

E.g。

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

您应该确定从不在JSF页面中使用 scriptlet <% %>

答案 1 :(得分:3)

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

答案 2 :(得分:0)

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