2016-10-06 3 views
0

Я создал пользовательский файл тегов facelets, но я пытаюсь вставить что-то в него. Это тег:JSF: Как вставить что-то в пользовательский тег facelets?

<ui:composition xmlns="http://www.w3.org/1999/xhtml" 
       xmlns:f="http://java.sun.com/jsf/core" 
       xmlns:h="http://java.sun.com/jsf/html" 
       xmlns:ui="http://java.sun.com/jsf/facelets"> 
    <h1>TestTag</h1> 
    <ui:insert name="foo"/> 
</ui:composition> 

Это, как я ожидаю, чтобы использовать его:

<ds:testtag> 
    <ui:define name="foo"> 
    <h2>TestInsert</h2> 
    </ui:define> 
</ds:testtag> 

Конечно, я создал файл TagLib и зарегистрировал его в web.xml. Пространство имен ds также объявляется в файле, где я хочу использовать тег.

На оказанной результат можно увидеть TestTag подпись от самого тега, но не вставленное TestInsert.

Ответ на этот вопрос How to create a custom Facelets tag?, а также комментарий здесь How to create a composite component for a datatable column? предполагает, что можно вставить что-то в тег; к сожалению, я не смог найти рабочий пример. Что мне не хватает?

ответ

1

Попробуйте это (не проверено):

<ui:composition xmlns="http://www.w3.org/1999/xhtml" 
       xmlns:f="http://java.sun.com/jsf/core" 
       xmlns:h="http://java.sun.com/jsf/html" 
       xmlns:ui="http://java.sun.com/jsf/facelets"> 
    <h1>TestTag</h1> 
    <ui:insert /> 
</ui:composition> 

И использовать компонент, как это:

<ds:testtag> 
    <h2>TestInsert</h2> 
</ds:testtag> 
-2

Вам нужно вставить в тег компонента:

<ui:composition xmlns="http://www.w3.org/1999/xhtml" 
       xmlns:f="http://java.sun.com/jsf/core" 
       xmlns:h="http://java.sun.com/jsf/html" 
       xmlns:ui="http://java.sun.com/jsf/facelets"> 
    <h1>TestTag</h1> 
    <ui:insertChildren/> 
</ui:composition> 

И при использовании его как это:

<ds:testtag> 
    <h2>TestInsert</h2> 
</ds:testtag> 

Также вы можете использовать

<composite:insertChildren/> 

Не забудьте за право импорт

xmlns:composite="http://java.sun.com/jsf/composite" 

или

xmlns:ui="http://java.sun.com/jsf/composite" 
Смежные вопросы