2012-04-17 3 views
2

Я пытаюсь запустить программу Primefaces 3.2 с использованием Eclipse 3.6 и Glassfish 3.1 в качестве сервера приложений.Неприменимо с тегами Topface

Когда я пытаюсь опубликовать свое приложение из Eclipse, используя этот очень простой код.

<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"> 

<ui:composition template="WEB-INF/template.xhtml"> 
    <ui:define name="content"> 
     <p:panel header="Login Form"> 
      <h:form> 
       <p:button value="With Icon!" icon="bookmark" /> 
       <br /> 
       <p:spinner /> 
      </h:form> 
     </p:panel> 
    </ui:define> 
</ui:composition> 
</html> 

Прайды не являются рендерингом. Кнопка показывает, но нет значка, а счетчик показывает только текст ввода.

Не уверен, но я поместил файл jar-файлов в папку WEB-INF/lib.

Несмотря на то, что я вижу эту ошибку при регистрации в журнале.

[#|2012-04-17T11:37:56.864+0800|INFO|glassfish3.1.2|javax.enterprise.resource.webcontainer.jsf.renderkit|_ThreadID=23;_ThreadName=Thread-2;|WARNING: FacesMessage(s) have been enqueued, but may not have been displayed. 
sourceId=null[severity=(ERROR 2), summary=(One or more resources have the target of 'head', but no 'head' component has been defined within the view.), detail=(One or more resources have the target of 'head', but no 'head' component has been defined within the view.)]|#] 

Update:

К сожалению вот мой web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
    version="3.0"> 
    <servlet> 
     <servlet-name>Faces Servlet</servlet-name> 
     <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>Faces Servlet</servlet-name> 
     <url-pattern>/faces/*</url-pattern> 
    </servlet-mapping> 
    <welcome-file-list> 
     <welcome-file>index.jsp</welcome-file> 
    </welcome-file-list> 

    <servlet-mapping> 
     <servlet-name>Faces Servlet</servlet-name> 
     <url-pattern>*.jsf</url-pattern> 
    </servlet-mapping> 
</web-app> 

Мой шаблон

<!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://java.sun.com/jsf/facelets"> 
<head> 
    <title><ui:insert name="title">My Test Application</ui:insert></title> 
</head> 
<body> 
<div id="header"> 
    <ui:insert name="header"> 
     <h1>Header</h1> 
    </ui:insert> 
</div> 
<div id="content"> 
    <ui:insert name="content"> 

    </ui:insert> 
</div> 

<div id="footer"> 
    <ui:insert name="footer"> 
     <br/><br/>Footer! 
    </ui:insert> 
</div> 
</body> 
</html> 
+0

В сообщении об ошибке указано, что в вашем представлении отсутствует тег '. Попробуйте добавить его. Направляли ли вы некоторые ресурсы на ''? – Lion

+0

Что находится в 'web.xml'? Вы должны настроить 'FacesServlet', как в [этот вопрос] (http://stackoverflow.com/q/3599015/139010). –

+1

Проблема в том, что упоминал Лев. В шаблоне введите ''. Это позволит визуализировать javascript. –

ответ

4

вам необходимо сделать следующие изменения в файле template.xhtml , например

<f:view> 
    <h:head> 
    <title><ui:insert name="title">insert title</ui:insert></title> 
    <meta content="text/html; charset=UTF-8" http-equiv="Content-type" /> 
    <link type = "text/css" rel="stylesheet" href="/your/theme/skin.css" /> 
    </h:head> 

Надеюсь, это поможет вам.

+0

Спасибо. В этом руководстве не упоминалось об этом. Eclipse автоматически сгенерировал этот файл для меня. Так или иначе, спасибо всем за ответ. –

+0

@MarkEstrada, я не использовал eclipse, чтобы его автогенерировать. Если это так, то это ошибка. :) – UVM

Смежные вопросы