User Tools

Site Tools


jsf-ru:quickstart:simple_navigation

К списку

Простая навигация

Рецепт

Попробуем сделать форму с кнопкой, по клику на которую можно перейти на другую форму. Для этого в первом примере изменить index.jspx так:

...
        <h:form>
          <h:commandButton action="hello" value="GO" />
        </h:form>
...

И дописать в faces-config.xml:

...
<navigation-rule>
    <from-view-id>/index.jspx</from-view-id>
    <navigation-case>
      <from-outcome>hello</from-outcome>
      <to-view-id>/hello.jspx</to-view-id>
    </navigation-case>
  </navigation-rule>
...

Создайте файл hello.jspx в папке jsf-helloworld:

<?xml version="1.0" encoding="UTF-8"?>
<jsp:root xmlns:f="http://java.sun.com/jsf/core"
          xmlns:jsp="http://java.sun.com/JSP/Page"
          xmlns:h="http://java.sun.com/jsf/html"
          xmlns:xsd="http://www.w3.org/2001/XMLSchema"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns="http://www.w3.org/1999/xhtml"
          version="2.0">
    <f:view>
      <html>
      <body>
        <h:form>
          <h:outputText value="Hello, world!"/>
        </h:form>
      </body>
      </html>
    </f:view>
</jsp:root>

Что здесь что:

  • <h:commandButton action="hello" value="GO" /> - кнопка с надписью "GO", при нажатии на которую будет осуществлён переход к странице, которая указана в конфиг-файле с outcome1) = hello
  • В конфиг-файле задано правило для перехода между страницами. <from-view-id> - с какой страницы, <from-outcome> - название outcome, <to-view-id> - на какую странице надо перейти.

Результат

Конечный WAR-файл (1.7mb) (для JBoss'а, нужно просто положить в папку deploy и любоваться результатом по ссылке http://localhost:8080/simple_navigation/index.jsf)

1)
Переводить или нет?
jsf-ru/quickstart/simple_navigation.txt · Last modified: 2019/06/12 16:08 by 127.0.0.1