[Gukulkan]

Learn, develop, play.

Managed Beans в JSF и страница XHTML

Ну что, теперь сделаем связь страницы и бина.

Скопируем код  из нашего предыдущего примера:

@Named
@SessionScoped
public class HelloBean implements Serializable {

	//business logic and whatever methods...

}

И внесем изменения:

@Named("mybean")
@SessionScoped
public class HelloBean implements Serializable {
	public String myMethod(){
            return "Hello!";
        }

}

Вы заметили что мы добавили имя к аннотации Named, и добавили метод, который возвращает нам строку.

Теперь выведем его на страничку.

<?xml version=»1.0″ encoding=»UTF-8″?>
<ui:composition template=»/WEB-INF/templates/default.xhtml»
xmlns=»http://www.w3.org/1999/xhtml»
xmlns:ui=»http://java.sun.com/jsf/facelets»
xmlns:f=»http://java.sun.com/jsf/core»
xmlns:h=»http://java.sun.com/jsf/html»
xmlns:a4j=»http://richfaces.org/a4j»
xmlns:rich=»http://richfaces.org/rich»
xmlns:my=»http://java.sun.com/jsf/composite/components»>
<ui:define name=»content»>

<h1>#{mybean.myMethod()} Welcome!</h1>
</ui:composition>

Ну и теперь мы увидим что на нашей страничке появлась надпись «Hello! Welcome!»

Далее будет интереснее!

Managed Beans в JSF

Сегодня мы рассмотрим бин в JSF.

Есть 2 варианта объявления бина: через XML и через аннотацию.

Первый вариант мы рассматривать вообще не будем, так как я сторонник того, чтоб обходиться без дополнительных файлов.

И так, создадим XHTML страничку. Для этого File -> New -> Other… и в поиск введем xhtml и выберем пункт XHTML Page.

Отлично, теперь назовем эту страничку, для примера hello.xhtml как показано на скриншоте:

2014-03-12 12_12_56-Java - Eclipse

Ну и конечно же, не забудьте выбрать проект, куда это добавлять.

Отлично, добавили. Теперь вставим туда такой код:

<?xml version=»1.0″ encoding=»UTF-8″?>
<ui:composition template=»/WEB-INF/templates/default.xhtml»
xmlns=»http://www.w3.org/1999/xhtml»
xmlns:ui=»http://java.sun.com/jsf/facelets»
xmlns:f=»http://java.sun.com/jsf/core»
xmlns:h=»http://java.sun.com/jsf/html»
xmlns:a4j=»http://richfaces.org/a4j»
xmlns:rich=»http://richfaces.org/rich»
xmlns:my=»http://java.sun.com/jsf/composite/components»>
<ui:define name=»content»>

<h1>Welcome!</h1>
</ui:composition>

 

И создадим новый фаил Java и туда впишем:

@Named
@SessionScoped
public class HelloBean implements Serializable {

	//business logic and whatever methods...

}

Ну вот и все, правда эти 2 действия никак не связаны… =(

Как их связать я расскажу дальше.

Запуск приложение на JBoss в Eclipse

Сегодня запустим наше приложение на JBoss в Eclipse при помощи maven.

Сначала создайте тестовое приложение, как это сделать можно посмотреть тут.

Ну и конечно же установить JBoss в Eclipse, это вы найдете тут.

Для начала запустим сервер. Найдем на вкладке Servers нужный нам сервер и выделим его. Теперь нажмем на кнопку запуска сервера:

Screenshot from 2014-03-09 15:46:10

 

И у нас начал запускаться сервер. Когда вы увидите надпись в консоле:

JBoss EAP 6.2.0.GA (AS 7.3.0.Final-redhat-14) started in 3983ms — Started 129 of 186 services (56 services are passive or on-demand)

Значит сервер успешно запущен!

После этого, в менюшке нажмите Run -> Run Configuration…

У вас появится окно конфигурации запуска. Нажмите ПРАВОЙ кнопкой мыши на Maven Build и выберете New.

И мы увидим окошко:

Screenshot from 2014-03-09 15:59:53

 

Как вы могли заметить, у меня поля уже заполнены.

Тут самое главное Name, Build Directory, Goals.

Name: Любое имя, но должно отличаться от названия проекта.

Build Directory: Тут надо выбрать свой проект, советую использовать кнопочку Browse Workspace и там выбрать свой проект.

Goals: Тут интересно, нам надо дать команды мавену, clean — почистить от старых компиляций, install скомпилировать и сделать war-файл, jboss-as:deploy — взять war-файл и задеплоить на локальный jboss.

Ну и нажимаем Run.

Когда вы увидите в консоли что-то типа

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

Можем радоваться, наша апликуха задеплоина.

После этого, переходим по ссылке http://localhost:8080/myproject/ и видим нашу апликуху:

Screenshot from 2014-03-09 16:09:42

Супер, дальше — интереснее =)

JSF начало

Для того чтоб начать делать свой проект, его нужно создать.

Перед этим у нас должен быть установлен и настроен Eclipse вместе с JbossTools.

Готово, поехали.

Зайдем в Eclipse, и сразу увидим приветствие от JboosTools.

Screenshot from 2014-03-08 13:58:36

 

Найдем в этом окошке ссылку Richfaces Project, и нажмем на нее.

После этого у нас появится окошечко

Screenshot from 2014-03-08 14:01:04

 

тут пока что для нас нет ничего интересного. Нажимаем Next

А вот на следующем окне советую остановиться.

Screenshot from 2014-03-08 14:02:22

Тут надо ввести имя проекта, и пакета. Советую имя проекта ввести одним словом, а пакет типа org.myproject Это чисто для удобства.

После этого, вы уведите свой проект. Запускать его мы будем чуть позже….

На этом пока что все.