Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Как создать переменное количество табов?


Автор: iLoveJava 3.2.2008, 01:04
Как сгенерить закладки так что бы их количество определялось размером списка в бине?

Код

<!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"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:t="http://myfaces.apache.org/tomahawk"
    xmlns:c="http://java.sun.com/jsp/jstl/core"
    xmlns:a4j="http://richfaces.org/a4j" 
    xmlns:rich="http://richfaces.org/rich">
<f:view>
    <f:loadBundle basename="/locale/text" var="text" />
    <head>
        <title>#{text.title}</title>
    </head>
    <body>
        <rich:tabPanel switchType="ajax">
            <ui:repeat value="#{deviceManagerBean.myList}" var="myVar">
                <rich:tab label="#{myVar}">
                    #{myVar}
                </rich:tab>
            </ui:repeat>
        </rich:tabPanel>
    </body>
</f:view>


Ничего не генерить  smile 
Я так понимаю потому что ui:repeat тег времени выполнения, а rich:tabPanel тег времени построения(могу ошибаться и причина совсем в другому... я в jsf недавно...)

c:forEach так и выдается на output ибо юзаю facelets

как вариант написать свой тег...  smile 
но надеюсь есть более хорошое решение, а то свой тег эт как-то криво... smile 

Автор: alexsmirnov 31.3.2008, 20:30
В facelets есть своя реализация c:forEach , с его помощю как раз можно сделать.
Если тег не воспринимается, скорее всего xmlns:c="...." неверно указан.

Автор: necromancer 1.4.2008, 12:37
ну а так же можно компонент забиндить и при его получении добавлять ему требуемое количество табов

Автор: medi 1.4.2008, 13:21

У тебя var="myVar"  это же List

a сдесь нужен String: 

<rich:tab label="#{myVar.name}">
       
или я парюсь?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)