Удалить добавленный заголовок со страницы JSF - PullRequest
1 голос
/ 02 января 2012

Я написал страницу .xhtml со следующим кодом:

<html>
    <head>
        <title>Test</title>
    </head>
    <body>
        <p>P</p>
    </body>
</html>

Я открываю эту страницу с JavaScript в новом окне.

К сожалению, она отображается как

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    </head>
    <div id="">
        <html>
            <head>
                <title>Test</title>
            </head>
            <body>
                <p>P</p>
            </body>
        </html>
    </div>
</html>

Это, конечно, неверный HTML.Как я могу удалить эти добавленные теги?И почему они созданы в первую очередь?

Я использую JSF 1.2, Facelets, API Portlet 2.0 и JBoss PortletBridge.

Ответы [ 3 ]

0 голосов
/ 02 января 2012

Вы должны использовать шаблон с компонентами, а затем на своей странице

пример шаблона

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html dir="ltr" xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
>
<h:head>
<title><ui:insert name="title">Default title</ui:insert></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</h:head>
<h:body dir="ltr">
<ui:insert name="content" />
</h:body>
</html>

и страницу .xhtml

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<f:view xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
>
<html>
    <head></head>
    <body>
<ui:composition template="${empty param.sl ? '/includes/template.xhtml' : '/includes/templatepopup.xhtml'}">
    <ui:define name="title">${msg.removeapplicant_title}</ui:define>
<ui:define name="content">
        <f:view>


put your htlml here

</f:view>
    </ui:define>
</ui:composition>
</body></html>
</f:view>
0 голосов
/ 09 января 2012

Я сейчас написал HttpServlet для всплывающего окна, чтобы обойти эту проблему.Поскольку файл, в который он пересылается, заканчивается на *.jsp, на него не влияет FacesServlet и не добавляется странный заголовок.

0 голосов
/ 02 января 2012

Попробуйте использовать компоненты jsf head и body:

<html xmlns="http://www.w3.org/1999/xhtml"
        xmlns:h="http://java.sun.com/jsf/html"
        xmlns:f="http://java.sun.com/jsf/core">
    <f:view>
        <h:head>
            <title>Test</title>
        </h:head>
        <h:body>
            <p>P</p>
        </h:body>
    </f:view>
    </html>
...