Как динамически назначить идентификатор в JSf столбцу данных - PullRequest
0 голосов
/ 15 апреля 2011

Привет, пожалуйста, проверьте ниже код для справки.

                                    <%
                                        System.out.println("Here???????? 111111 :::::::::::::: "+request.getAttribute("COLUMNSIZE"));

                                        if(request.getAttribute("COLUMNSIZE") != null){

                                            int columnSize = 0;
                                            columnSize = Integer.parseInt(request.getAttribute("COLUMNSIZE").toString());
                                            System.out.println("Here 111111 :::::::::::::: "+columnSize);

                                            for(int loop=0 ; loop < columnSize ; loop++){
                                    %>

                                    <h:column>
                                        <f:facet name="header" >
                                            <h:outputText value="Field <%=loop%>">
                                            </h:outputText>
                                        </f:facet>
                                        <h:outputText value="Password" />
                                    </h:column>

                                    <%
                                        }
                                        }
                                    %>

                                </h:dataTable>

Теперь я хочу, чтобы я динамически назначал id столбцу с помощью переменной цикла ... но скрипты не допускаются, и я не могу найти какой-либо другой способ для этого.

Так что, если у кого-то из вас есть идея, пожалуйста, ответьте мне быстро.

Ответы [ 3 ]

0 голосов
/ 16 апреля 2011

Скрипты не должны смешиваться с выражениями JSF.Приведенный ниже код может быть использован для достижения того, что вы уже пытаетесь, поместив логику в компонент поддержки и выглядит более читабельным.

<ui:repeat value="#{backingBean.headerNames}" var="header">
                 <li> 
                      <h:outputText value="#{header.field}" />
                 </li> 
</ui:repeat>

Для получения дополнительной информации просмотрите документацию JSF EL

0 голосов
/ 06 июля 2011

Может быть, его работа.

HtmlOutputText test = new HtmlOutputText();
test.setValue("test");

HtmlDataTable dataTable = new HtmlDataTable();
dataTable.getChildren().add(test);
0 голосов
/ 15 апреля 2011

Если я правильно прочитал ваш вопрос, вы хотите динамически изменить количество столбцов вашей таблицы данных (я могу ошибаться).

Если вы на льду или richfaces, почему бы вам не использовать ice:columns или rich:columns?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...