我正在尝试使用jsf 2.2 passthrough命名空间来传递某些html5属性。
这是我的login.xhtml文件的样子:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:a="http://xmlns.jcp.org/jsf/passthrough">
<h:head></h:head>
h:body>
<h:form>
<h:inputText id="name" a:placeholder="name"></h:inputText>
<h:inputSecret id="password" a:placeholder="password"></h:inputSecret>
</h:form>
</h:body>
</html>
不幸的是,当使用网页编辑器进行编辑时,eclipse在这一行中给我一个错误
xmlns:a="http://xmlns.jcp.org/jsf/passthrough"
错误说:
NLS missing message: CANNOT_FIND_FACELET_TAGLIB in:
org.eclipse.jst.jsf.core.validation.internal.facelet.messages
我可以忽略该错误,当我将项目部署到glassfish时页面渲染得很好,占位符按预期工作。
但之后错误消失了(即行不再是黄色),每次eclipse尝试验证它所说的文件:
An internal error occurred during: "Processing variables in index.xhtml".
java.lang.AssertionError
我现在花了几个小时的谷歌搜索,发现在jsf 2.2的早期开始存在问题。
我正在使用最新版本的jdk,glassfish和eclipse。我今晚下载并重新安装了所有这些,我仍然无法解决这个问题。我知道我可以忽略它,因为它正在工作,但我想知道我是否犯了错误或者它是否是一个日食错误。
提前感谢您的帮助。
答案 0 :(得分:0)
尝试使用我上传的JSF前端项目,该项目在JSF2.2下完全配置,它将解决您的问题。它是一个maven项目,您可以使用eclipse或netbeans进行部署,我建议使用NetBeans JSF2.2 frontend