powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / JSF получение и изменение класса стилей
5 сообщений из 5, страница 1 из 1
JSF получение и изменение класса стилей
    #38149635
Alex-ZZZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть ссылки с прослушивателем

Код: java
1.
2.
3.
4.
                <h:commandLink id ="link1" class="linkStyle" value ="1" actionListener="#{poPagers.klickLink}"/>
                <h:commandLink id ="link2" class="linkStyle" value ="2" actionListener="#{poPagers.klickLink}"/>
                <h:commandLink id ="link3" class="linkStyle" value ="3" actionListener="#{poPagers.klickLink}"/>
                <h:commandLink id ="link4" class="linkStyle" value ="4" actionListener="#{poPagers.klickLink}"/>



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
    public void klickLink(ActionEvent event) {

        // получаем наш запрос HTTP который содержит данные об активирующем компоненте
        FacesContext context = FacesContext.getCurrentInstance();
        // узнаем ID компонента который вызвал этот метод
        String linkId = event.getComponent().getClientId(context);

        // получаем ссылку активирующую этот метод
        UICommand links = (UICommand) component.findComponent(linkId);

       // надо получить класс стиля и возможно другие параметры ссылки и изменить их
    }



Ни как не могу найти способ, получить в прослушиватель, значение класса стиля class="linkStyle" ссылки и второе - изменить его на class="linkStyleSelect". Может кто знает как это проделать?
...
Рейтинг: 0 / 0
JSF получение и изменение класса стилей
    #38149680
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1) никак. Переносите стиль в модель, тогда сможете им управлять.
2) код можно сократить:
Код: java
1.
UICommand link = (UICommand)event.getComponent;
...
Рейтинг: 0 / 0
JSF получение и изменение класса стилей
    #38149837
Alex-ZZZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за помощь.

Вы имеете ввиду так:
Код: java
1.
<h:commandLink id ="link1" class="#{poPagers.linkStyle1}" value ="1" actionListener="#{poPagers.klickLink}"/>



Но тогда придется для каждой ссылки создавать get и set методы, если я хочу менять стиль каждой ссылки независимо от других, а если этих ссылок 150, как то не удобно.
...
Рейтинг: 0 / 0
JSF получение и изменение класса стилей
    #38149860
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Зачем на каждый линк, можно сделать 1 карту на всех и 1 геттер.
В бине:
Код: java
1.
2.
3.
4.
5.
6.
private Map<String,String> linkStyles = new HashMap<String,String>();
// геттер
public Map<String,String> getLinkStyles()...

//в слушателе изменяем стиль: получаем компонент, его id, изменяем значение в карте
linkStyles.put(linkId,"visitedStyle")



на форме
Код: html
1.
<h:commandLink id ="link1" classStyle="#{poPagers.linkStyles['link1']}" value ="1" actionListener="#{poPagers.klickLink}"/>
...
Рейтинг: 0 / 0
JSF получение и изменение класса стилей
    #38149888
Alex-ZZZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо попробую.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / JSF получение и изменение класса стилей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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