1

当用户在 tr:inputText 生成的输入中插入空格并提交表单时,我得到在输入上设置的 JSF 转换器(我的转换器不进行修剪)中提交的值。但是我得到了托管bean的空值(输入的原始值)。

JSF 页面:

<tr:inputText label="..."
  value="#{ManagedBean.object.defaultValue}" id="defValueId"
  converter="#{MyConverter}">
  <tr:validateLength maximum="255"/>
  <f:attribute name="domainId" value="domainId"/>
</tr:inputText>

当我使用 h:inputText 时,我得到了提交给我的托管 bean 的值。

特立尼达为什么以及在哪里忽略空格?我可以更改任何内容以使其适用于 h:inputText。

注意:我使用 JSF 1.2 和 Trinidad 1.2.13。我不是在这里解决空字符串为空的问题。

4

1 回答 1

3

在 JSF 表达式语言 (EL) 中,我们可以另外使用 JSF 表达式语言函数。Facelets 支持的表达式语言称为统一表达式语言。因此,如果我们想在 inputText 中调用 trim 函数:

<h:inputText value="#{trim[ramdomText]}"/>

更多信息:http: //java.sun.com/products/jsp/reference/techart/unifiedEL.html

于 2011-08-01T13:55:12.147 回答