Получитьзначение на странице JSF? - PullRequest
1 голос
/ 23 сентября 2010

Я пытаюсь передать <f:param name="id" value="{someValue.id}" /> и извлечь его на следующей странице (чтобы я мог поместить его в выходную ссылку). Вот что я попробовал:

<h:outputLink value="#{linkController.clientEdit}?id={id}">#{linkController.clientEdit}?id={id}</h:outputLink>

Проблема в том, что часть, находящаяся между тегом, печатает то, что я хочу, т. Е. / My / path? Id = 1, но значение выходной ссылки равно / my / path? Id = {id}. Можно ли поместить это значение идентификатора в атрибут значения value outputLink?

@ Edit: все приложение немного странно: у нас есть dataTable с некоторыми записями, последний столбец содержит изображение, которое, если вы нажмете, устанавливает текущую строку в bean-компоненте (который является keppAlive), устанавливает параметр id и показывает contextMenu (RichFaces), который должен menuItems: редактировать и удалять. Когда я нажимаю «Изменить», я хочу, чтобы меня перенаправили на страницу редактирования с параметром id. Проблема заключается в том, что menuItem имеет только атрибут action, который принимает строку, куда идти, но когда он туда попадает, он не меняет URL в браузере. Вот почему я хотел поместить outputLink в menuItem и удалить атрибут action ...

1 Ответ

2 голосов
/ 23 сентября 2010

Вы забыли префикс # EL.

<f:param name="id" value="#{someValue.id}" />

Затем, чтобы получить к нему доступ в последующем запросе, используйте #{param.name}.Итак:

#{linkController.clientEdit}?id=#{param.id}

#{param} относится к Map<String, String> со всеми парами имя-значение параметра запроса.

...