Передача значения из JSP в компонент поддержки страниц JSF - PullRequest
0 голосов
/ 26 июля 2011

Можно ли передать параметр со страницы JSP в компонент EJF страницы поддержки?

Страница JSP - это всплывающее окно, открывающееся, когда я вызываю кнопку на странице JSF и мое выбранное значение на странице JSP, я должен иметь возможность перейти к компоненту поддержки JSF.

PS При добавлении комментарияи я добавляю @anyname, когда кто-то отвечает, часть @namyname усекается.

Обновление 1

Чтобы получить выбранное значение из JSP для бина, я применил грубый подход.

Я добавил следующее в JSP

String str = request.getParameter("selectname");

и присвоил строку str скрытому полю

 <input type="hidden" name="hid" value="<%=str%>"  /> 

и в своем бине я получаю значение, подобное следующему

logger.info("jsp value "+FacesContext.getCurrentInstance().getExternalContext()
               .getRequestParameterMap().get("hid"));

Это почти работает, за исключением того, что я всегда получаю значение, которое выбрал ранее.Например, в первый раз, когда я выбираю 1 и значение, возвращаемое в бине, равно нулю, во второй раз, когда я выбираю 2, возвращаемое значение равно 1.

Как я могу получить текущее выбранное значение в моем бине?

Ответы [ 2 ]

2 голосов
/ 26 июля 2011

Во-первых, если ваша технология просмотра JSF - JSP, то вы можете использовать теги <h:> в jsp, и это становится просто 0, просто добавьте <h:commandButton action="#{yourBean.yourMethod}" />

В противном случае, вы все еще можете, ноЯ бы посоветовал сделать ваше всплывающее окно также страницей JSF.JSF и JSP плохо сосуществуют.Если вам действительно необходимо сохранить ситуацию, то вы можете попытаться эмулировать запрос POST JSF на целевой URL-адрес jsf.

1 голос
/ 26 июля 2011

f:viewParam позволяет ассоциировать бин свойства с параметрами запроса -

- Это вводит несколько новых возможностей

  • Новые теги, которые перемещаются через GET вместо POST и теги, которые перейдите через GET вместо POST и отправьте параметры вместе с адрес
  • Отправка данных из форм не-JSF на страницы JSF
  • Сделать страницы результатов закладки страниц закладок
  • Это новая функция в JSF 2.0
  • пример: <f:viewParam name="fg" value="#{colorPreferences.foreground}" />
  • Если параметр «fg» не равен NULL, он передается setForeground до отображения страницы

    <f:metadata>
    <f:viewParam name="param1" value="#{bean.prop1}"/>
    <f:viewParam name="param2" value="#{bean.prop2}"/>
    </f:metadata>
    <h:head>…</h:head>
    <h:body>
    Blah Blah blah #{bean prop1} , blah, #{bean.prop1}
    </h:body>
    

    Если страница вызывается с page.jsp?param1=foo&param2=bar, тогда «foo» и «bar» передаются в «setProp1» и « setProp2 ” до отображения страницы. Если какой-либо из параметров имеет значение NULL (то есть такой параметр запроса не существует), то связанный установщик вообще не вызывается, и боб имеет свое нормальное значение для этого свойства

Вы можете найти ответ из учебника JSF http://www.coreservlets.com/JSF-Tutorial/jsf2/

...