powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / jstl forEach: сложный прикол
32 сообщений из 32, показаны все 2 страниц
jstl forEach: сложный прикол
    #39451620
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
import javax.ejb.EJB;
import javax.enterprise.context.RequestScoped;
import javax.inject.Named;

@Named
@RequestScoped
public class ProductView {

    @EJB
    private ProductService productService;

    private Product product;

    private String id;

    public Product getProduct() {
        return product;
    }

    public void setProduct(Product product) {
        this.product = product;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public void load() {
        System.out.println("Load product " + id);
        product = productService.find(Integer.parseInt(id));
    }

}



Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
<ui:composition template="/WEB-INF/views/layouts/main.xhtml"
                xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:h="http://xmlns.jcp.org/jsf/html"
                xmlns:c="http://java.sun.com/jstl/core"
                xmlns:f="http://xmlns.jcp.org/jsf/core"
>
    <ui:define name="content">
    <f:metadata>
        <f:viewParam name="id" value="#{productView.id}"/>
        <f:event type="preRenderView" listener="#{productView.load}"/>
    </f:metadata>
    ....
        <c:forEach var="image1" items="#{productView.product.images}">
            <div>
                #{image1.name}
            </div>
        </c:forEach>
    </ui:define>
</ui:composition>



Пусто!

При это тут же пишу:

Код: xml
1.
2.
3.
        <h3>
            #{productView.product.images[0].name}
        </h3>



Корректно отображается имя. А итеррироваться через forEach не хочет. Что за прикол такой?
Причем раньше то работало, коммитов 5 назад.
Нашел тот коммит, на котором сломалось, там был добавлен beans.xml, если в том коммите удалить, то начинает работать все, но потом было много изменений. В общем удаление beans.xml в последнем коммите проблему не решает.
...
Рейтинг: 0 / 0
jstl forEach: сложный прикол
    #39451642
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Короче если в ProductView добавить

Код: java
1.
2.
3.
4.
    @PostConstruct
    public void init() {
        product = productService.find(6);
    }



То все ок. Но через load() он не хочет работать. Пока так и не понял почему.
...
Рейтинг: 0 / 0
jstl forEach: сложный прикол
    #39451643
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот минимальный пример:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
import javax.enterprise.context.RequestScoped;
import javax.inject.Named;
import java.io.Serializable;
import java.util.ArrayList;

@Named
@RequestScoped
public class ProductView implements Serializable {

    private String id;

    private ArrayList<ArrayList<String>> data = new ArrayList<>();

    public void load() {

        ArrayList<String> list = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            list.add("item " + i);
        }
        data.add(list);
    }

    public ArrayList<ArrayList<String>> getData() {
        return data;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getId() {
        return id;
    }
}



Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:h="http://xmlns.jcp.org/jsf/html"
                xmlns:c="http://java.sun.com/jsp/jstl/core"
                xmlns:f="http://xmlns.jcp.org/jsf/core">

<h:body>
    <f:metadata>
        <f:viewParam name="id" value="#{productView.id}"/>
        <f:event type="preRenderView" listener="#{productView.load}"/>
    </f:metadata>

    Dump<br/>
    #{productView.data[0]}
    <br/>


    ForEach<br/>
    <c:forEach var="item" items="#{productView.data}">
        Item
    </c:forEach>

</h:body>
</html>




Вывод:

Код: plaintext
1.
2.
Dump 
[item 0, item 1, item 2, item 3, item 4, item 5, item 6, item 7, item 8, item 9] 
ForEach 
...
Рейтинг: 0 / 0
jstl forEach: сложный прикол
    #39451647
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Короче я понял.
JSTL выполняется до JSF.
...
Рейтинг: 0 / 0
jstl forEach: сложный прикол
    #39451649
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С ui:repeat все нормально работает. Всем спасибо.
...
Рейтинг: 0 / 0
jstl forEach: сложный прикол
    #39451664
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett, Да - известная проблема с forEach, вы совершенно правильно перешли на ui:repeat. Сочувствую конечно вам, jsf - та еще радость
...
Рейтинг: 0 / 0
jstl forEach: сложный прикол
    #39451702
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
забыл никjsf - та еще радость
я один прочитал гадость? :-)
...
Рейтинг: 0 / 0
jstl forEach: сложный прикол
    #39452564
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может и гадсоть, но если сравнивать с тем же PHP, на котором я уже "собаку съел", неприятных вещей не больше. Возможно даже чуть меньше, потому что нет каши их трех технологий в одной вьюхе (PHP + HTML + JavaScript). Делаю интернет магазинчик в процессе изучения EE, вот делал корзину сейчас, обошелся вообще без использования JS, что порадовало. При этом все работает на AJAX.
Да и какие альтернативы? Backbone, amber, angular и т.п.?
...
Рейтинг: 0 / 0
jstl forEach: сложный прикол
    #39452587
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hettесли сравнивать с тем же PHP, на котором я уже "собаку съел"
зачем вам этот железобетонный jsf, если вышеприведенная строка является осмысленными словами, а не просто буквами

Hettнет каши их трех технологий в одной вьюхе (PHP + HTML + JavaScript)
ага, и нет гибкости

HettДелаю интернет магазинчик в процессе изучения EE
jsf, если речь про него, вообще не для интернета, скорее для интранета
...
Рейтинг: 0 / 0
jstl forEach: сложный прикол
    #39452708
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174если вышеприведенная строка является осмысленными словами, а не просто буквами
+1
т.к. аффтару уже 99% в ветке Java уже говорили, что JSF не нужен\не используется.
ЗЫ
Пожелание автору, все темы про JSF указывать в теме что JSF.
Т.е. название данной темы - не удачное.
...
Рейтинг: 0 / 0
jstl forEach: сложный прикол
    #39452793
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123+1
т.к. аффтару уже 99% в ветке Java уже говорили, что JSF не нужен\не используется.
ЗЫ
Пожелание автору, все темы про JSF указывать в теме что JSF.
Т.е. название данной темы - не удачное.

Какая альтернатива есть в EE ?
...
Рейтинг: 0 / 0
jstl forEach: сложный прикол
    #39452801
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettКакая альтернатива есть в EE ?
В Java платят деньги больше чем в PHP как раз потому, что много надо знать.
Например, северную часть и клиентскую отдельно. Т.е. дополнительно JS на REST.
Или только серверную профессионально.
Т.е. если у тебя JSF только на полгода и забыть, тогда нормально.
Изучай дальше.
.......
Причём, через лет пяток, всё может измениться) на 180 градусов.
IMHO
...
Рейтинг: 0 / 0
jstl forEach: сложный прикол
    #39452808
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в спринге как с этим дела? Я думал раньше, что там тот же jsf для клиентской части.
...
Рейтинг: 0 / 0
jstl forEach: сложный прикол
    #39452810
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему ты решил, что к тому же пхп эмберы/бэкбоны не пикручивают?
...
Рейтинг: 0 / 0
jstl forEach: сложный прикол
    #39452811
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettА в спринге как с этим дела? Я думал раньше, что там тот же jsf для клиентской части.

В спринге есть что-то давно засохшее для UI, но обычно к нему что-то другое рисуется.
Вообще сейчас принято рисовать UI на JS. Т.е. отдельно сервер с API (java+spring/resteasy/...), отдельно UI (там зоопарк и каждый пару лет модный ранее фреймворк предаётся анафеме).
...
Рейтинг: 0 / 0
jstl forEach: сложный прикол
    #39452816
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettПочему ты решил, что к тому же пхп эмберы/бэкбоны не пикручивают?
потому что PHP сам _может_ быть фронтом.
А Java не может.
Преувеличил, но это факт.
Как Excell лучше заточен на формулы чем Word.
...
Рейтинг: 0 / 0
jstl forEach: сложный прикол
    #39452817
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettА в спринге как с этим дела?
Tomin ответил.
...
Рейтинг: 0 / 0
jstl forEach: сложный прикол
    #39452819
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123HettПочему ты решил, что к тому же пхп эмберы/бэкбоны не пикручивают?
потому что PHP сам _может_ быть фронтом.

Не может.
...
Рейтинг: 0 / 0
jstl forEach: сложный прикол
    #39452824
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://braun-shopfaces.rhcloud.com
сделано на jsf, но мне не нравится как оно работает
если тоже самое сделать на jsp, то будет работать в два-три раза быстрее и плавнее
...
Рейтинг: 0 / 0
jstl forEach: сложный прикол
    #39452854
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettPetro123потому что PHP сам _может_ быть фронтом.

Не может.
авторPHP (/pi:.eɪtʃ.pi:/ англ. PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста»; первоначально Personal Home Page Tools[9] — «Инструменты для создания персональных веб-страниц»)
...
Рейтинг: 0 / 0
jstl forEach: сложный прикол
    #39452889
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давай так, ты приводишь пример "фронта" на ПХП, и я тебе поверю.
...
Рейтинг: 0 / 0
jstl forEach: сложный прикол
    #39452928
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,

Под "фронтом", скорее всего, подразумевалась вьюха.

Например, переименовать *.html в *.php
...
Рейтинг: 0 / 0
jstl forEach: сложный прикол
    #39452931
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UsmanHett,

Под "фронтом", скорее всего, подразумевалась вьюха.

Например, переименовать *.html в *.php

В таком случае у PHP нет никаких возможностей, которых нет в JAVA.
Все что там можно делать, это писать в поток вывода функциями/операторами, абсолютно так же как и в других ЯП.
...
Рейтинг: 0 / 0
jstl forEach: сложный прикол
    #39452934
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettВ таком случае у PHP нет никаких возможностей, которых нет в JAVA.Многопоточности нет. Она, как бы, есть, но за счет Apache Web Server'а.
HettВсе что там можно делать, это писать в поток вывода функциями/операторами, абсолютно так же как и в других ЯП.PHP можно сравнить с Servlet/JSP
...
Рейтинг: 0 / 0
jstl forEach: сложный прикол
    #39452938
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettВ таком случае у PHP нет никаких возможностей, которых нет в JAVA.
Вот упоротый.
Назови различия и предназначения двух ЯП.
Сейчас ты написал что они одинаковы.
...
Рейтинг: 0 / 0
jstl forEach: сложный прикол
    #39452940
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,
ну и напиши примерной аналог на Java этих 10-ти примеров:
http://ruseller.com/lessons.php?id=649&rub=37
...
Рейтинг: 0 / 0
jstl forEach: сложный прикол
    #39452944
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UsmanHettВ таком случае у PHP нет никаких возможностей, которых нет в JAVA.Многопоточности нет. Она, как бы, есть, но за счет Apache Web Server'а.
HettВсе что там можно делать, это писать в поток вывода функциями/операторами, абсолютно так же как и в других ЯП.PHP можно сравнить с Servlet/JSP

А, ну если это имеется в виду под фронтом, то да, PHP переварит все, что находится вне тегов <?php ?> и отдаст на выход. Но это никак особо то не делает его лучше того же JSP. Может быть разве что проще.

UPD: Многопоточность там есть (модуль pthreads) но я не про это.
...
Рейтинг: 0 / 0
jstl forEach: сложный прикол
    #39452945
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Hett,
ну и напиши примерной аналог на Java этих 10-ти примеров:
http://ruseller.com/lessons.php?id=649&rub=37

Любой школьник напишет, в чем сложность то? Что нет функции strip_tags? Я тебе уже про нее говорил, не нужна они никому.
...
Рейтинг: 0 / 0
jstl forEach: сложный прикол
    #39452952
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174 http://braun-shopfaces.rhcloud.com/]http://braun-shopfaces.rhcloud.com/] http://braun-shopfaces.rhcloud.com
сделано на jsf, но мне не нравится как оно работает
если тоже самое сделать на jsp, то будет работать в два-три раза быстрее и плавнее

О каком быстродействии идет речь? Время генерации страницы?
Что за плавность?
...
Рейтинг: 0 / 0
jstl forEach: сложный прикол
    #39452954
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123HettВ таком случае у PHP нет никаких возможностей, которых нет в JAVA.
Вот упоротый.
Назови различия и предназначения двух ЯП.
Сейчас ты написал что они одинаковы.

В плане реализации "фронтэнда". Что PHP может сделать echo "<html></html>"
что JAVA может сделать System.out.print("<html></html>");
Конечно в общем контексте если рассматривать то различия огромны.
...
Рейтинг: 0 / 0
jstl forEach: сложный прикол
    #39452955
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettЯ тебе уже про нее говорил,
и я тебе повторяю
20481212
...
Рейтинг: 0 / 0
jstl forEach: сложный прикол
    #39452958
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hettесли рассматривать то различия огромны.
"Имя, сестра! Имя!!!" (с)
Хотя бы одно!
...
Рейтинг: 0 / 0
32 сообщений из 32, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / jstl forEach: сложный прикол
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]