对于所需的输入文本字段,我有以下JSF代码:
<h:inputText id="System"
label="System"
value="#{MyBean.system}"
maxlength="2"
required="true">
然后,当用户没有输入该字段的值时,会显示以下消息:"{0}:需要一个值。"问题是:JSF没有像预期的那样用inputText的id替换占位符{0}。
我的系统中到处都是这种代码,以前它运行得很好。最近,我切换到使用Maven的构建,我可能已经更改了一些lib的版本,这导致应用程序无法正常工作。我试图确保在我的POM中声明的libs版本与我以前的版本相匹配,但即使是儿子,这个问题仍然存在。
在我的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>
有线索吗?
谢谢!
这在JSF 1.1中不可用。这是在JSF 1.2中引入的。
升级至JSF 1.2。它在JSF 1.1环境中是100%兼容的。额外的好处是,在最新的JSF 1.2中修复了许多逻辑和性能错误。