0

对于必需的输入文本字段,我有以下 JSF 代码:

<h:inputText id="System"                        
         label="System"
         value="#{MyBean.system}"
         maxlength="2"
         required="true">

然后当用户没有为该字段输入值时,将显示以下消息:“{0}:需要值。” 问题是: JSF 没有像它应该做的那样用 inputText 的 id 替换占位符 {0} 。

我的系统中到处都是这种代码,并且以前运行良好。最近我切换到使用 Maven 构建,我可能已经更改了某些库的版本,这现在导致应用程序无法正常工作。我试图确保在我的 POM 中声明的库版本与我之前的版本相匹配,但即使是儿子,这个问题仍然存在。

在我的 POM 中声明的 JSF 相关库如下(另外我使用的是 JBoss 4.0.5 GA):

<dependency>
  <groupId>org.apache.myfaces.core</groupId>
  <artifactId>myfaces-api</artifactId>
  <version>1.1.7</version>
</dependency>

<dependency>
    <groupId>org.apache.myfaces.core</groupId>
    <artifactId>myfaces-impl</artifactId>
    <version>1.1.7</version>
</dependency>

<dependency>
    <groupId>org.apache.myfaces.tomahawk</groupId>
    <artifactId>tomahawk</artifactId>
    <version>1.1.9</version>
</dependency>

<dependency>
    <groupId>com.sun.facelets</groupId>
    <artifactId>jsf-facelets</artifactId>
    <version>1.1.14</version>
</dependency>

<dependency>
    <groupId>org.richfaces.framework</groupId>
    <artifactId>richfaces-api</artifactId>
    <version>3.1.4.GA</version>
</dependency>

<dependency>
    <groupId>org.richfaces.framework</groupId>
    <artifactId>richfaces-impl</artifactId>
    <version>3.1.4.GA</version>
</dependency>

<dependency>
    <groupId>org.richfaces.ui</groupId>
    <artifactId>richfaces-ui</artifactId>
    <version>3.1.4.GA</version>
</dependency>

有什么线索吗?

谢谢!

4

1 回答 1

0

这在 JSF 1.1 中不可用。这是在 JSF 1.2 中引入的。

升级到 JSF 1.2。它在 JSF 1.1 环境中 100% 兼容。额外的好处是在最新的 JSF 1.2 中修复了许多逻辑和性能错误。

于 2013-02-25T15:09:12.313 回答