kar*_*ark 3 eclipse jsf primefaces jsf-2
我正在使用Eclipse 4.3上的PrimeFaces 3.5开发一个JSF Web应用程序.没有编译时或运行时错误,应用程序已成功部署.但是,我无法在浏览器中获得所需的输出.PrimeFaces组件没有显示,而标准JSF组件则显示.
我不确定我是否正确配置了一切.PrimeFaces JAR至少在里面/WEB-INF/lib
:
并且PrimeFaces XML命名空间被声明为 xmlns:p="http:\\primefaces.org\ui"
我映射FacesServlet
上*.xhtml
:
这是完整的源代码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:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p=" http://primefaces.org/ui" >
<h:body>
<h:head ><title>Login Page !!</title></h:head>
<h:form>
<p:panel id="panel" header="Login Panel" style="margin-bottom:10px;">
<h:panelGrid columns="3">
<h:outputLabel value="User Id:" />
<p:inputText id="id" value="loginBean.id" required="true" requiredMessage="ID required"/>
<p:message for="id" />
<p:outputLabel value="User Name:" />
<p:inputText id="name" value="loginBean.name" required="true" requiredMessage="Name required" />
<p:message for="name" />
</h:panelGrid>
</p:panel>
<p:commandButton type="Submit" value="Submit" action="#" style="margin-right:20px;" />
Run Code Online (Sandbox Code Playgroud)
`
输出如下所示:
如你所见,<h:outputText>
做了它的工作,但没有<p:xxx>
出现.这是怎么造成的,我该如何解决?
这不是这个问题的直接答案,但它与它有关.我想分享我的问题"PrimeFaces标签不呈现"的经验.我在WildFly上开发JSF 2.2应用程序,这是我的index.xhtml:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:body>
<h:form>
<p:editor value="#{mDb.newMessage.content}"></p:editor>
</h:form>
</h:body>
</html>
Run Code Online (Sandbox Code Playgroud)
当应用程序运行时,编辑器不会出现,这对我来说非常奇怪,因为PrimeFaces在项目中配置正确.
我不小心发现了问题的原因.h:head
index.xhtml中没有标记.当我把head标签,PrimeFaces组件成功渲染!!
我希望这可以帮助别人.
至于PrimeFaces组件未呈现的具体问题的原因,根据屏幕截图,PrimeFaces taglib URI中有一个前导空格:
xmlns:p=" http://primefaces.org/ui"
Run Code Online (Sandbox Code Playgroud)
这很重要,因此是错误的.摆脱它:
xmlns:p="http://primefaces.org/ui"
Run Code Online (Sandbox Code Playgroud)
这样,必须解析PrimeFaces组件并将其显示在HTML输出中.
对于其余部分,我强烈建议您首先阅读理智的JSF2教程.您正在制作一些概念性错误,这些错误已经被一个体面的Hello World示例所涵盖.从我们的JSF wiki页面开始.然而,这些错误确实没有这个"空白页".它们会导致不同的问题(例如CSS/JS无法运行,表单提交不起作用).如果你仍然坚持这一点,你应该问一个新问题.
归档时间: |
|
查看次数: |
12770 次 |
最近记录: |