Рубрики
Без рубрики

Создайте проект Primefaces JSF с помощью Maven и Wildfly

Как создать проект Primefaces и JSF с Maven и Wildfly в качестве локального сервера. С тегом tutorial, java, web dev, jsf.

В настоящее время я направляюсь на Фуэртевентуру, чтобы насладиться неделей каникул ☀️ Ранее в этом году я обнаружил, что написание постов в блоге – отличный способ разумно использовать свое время, проведенное в путешествиях, поэтому я повторяю этот опыт.

Когда я думал о том, о какой теме мне следует написать сегодня утром (обычно у меня нет никакого плана заранее, когда дело доходит до написания) Я пришел к мысли, что, возможно, было бы интересно поделиться моим любимым трюком JSF (или взломом, зависит от того, видите ли вы стакан наполовину пустым или полным). Но прежде чем сделать это, я должен был инициализировать чистый пустой проект, поэтому я решил сначала написать этот учебник 😋

Но почему именно проект JSF?

Но почему именно проект JSF?

Честно говоря, я точно не знаю, почему кому-то все еще интересно создавать совершенно новый проект JavaServer Faces API (JSF) в 2019 году или зачем кому-то вообще читать эту статью 🤣 . Не то чтобы мне не нравилась Java, я все еще люблю ее, и я все еще думаю, что она хорошо подходит для определенных типов проектов, особенно когда речь идет о фоновом и среднем уровнях но я бы, вероятно, не стал использовать или советовать его лично для интерфейсной части любых новых проектов.

Вот почему мне действительно любопытно услышать ваш голос, почему вы читаете эту статью? Почему вы хотите создать проект JSF? Дайте мне знать с комментарием 😁

Приступая к работе

В этой статье мы собираемся выполнить следующие шаги:

  1. Создайте новый веб-проект
  2. Добавьте сервер разработки Wildfly в наш инструментарий
  3. Загрузка и настройка JSF
  4. Реализация примитивов

Давайте начнем 🚀

1. Создайте новый проект

Чтобы создать новый проект, мы собираемся использовать Apache Maven и его web starter kit или, как описано в его документации, “архетип, который генерирует образец проекта Maven webapp”.

Для этого мы запускаем следующую команду в терминале:

mvn archetype:generate -DgroupId=com.jsfdemo.app -DartifactId=jsf-demo -DarchetypeArtifactId=maven-archetype-webapp -DarchetypeVersion=1.4 -DinteractiveMode=false

Если все прошло по плану, мы должны иметь возможность изменить каталог и скомпилировать проект без каких-либо ошибок:

cd jsf-demo/ && mvn package

2. Добавьте сервер разработки Wildfly в наш инструментарий

WildFly , ранее известный как JBoss, представляет собой сервер приложений, созданный JBoss, в настоящее время разрабатываемый Red Hat . Wildfly может быть добавлен в проект Maven благодаря плагину wildfly-maven-plugin . С его помощью вы можете либо взаимодействовать с вашим локально установленным сервером, либо развертывать его “на лету”, что мы и собираемся использовать.

Чтобы добавить его в наш проект, мы рассмотрим, как отредактировать ваш pom.xml . Мы добавляем новую <зависимость/> к нашим <зависимостям/> и мы тоже добавляем его как другой <плагин/> .


  org.wildfly.plugins
  wildfly-maven-plugin
  2.0.1.Final
  maven-plugin



    org.wildfly.plugins
    wildfly-maven-plugin
    2.0.1.Final

Как только конфигурация будет сохранена, мы сможем создать и установить наш проект и запустить приложение, чтобы протестировать нашу настройку в вашем браузере соответственно http://localhost:8080/ должен предоставить нам доступ к его консоли администрирования и http://localhost:8080/jsf-demo на страницу “Привет, мир” по умолчанию.

mvn clean install && mvn wildfly:run

Консоль администрирования

Страница “Привет, Мир”

Примечание

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

3. Загрузка и настройка JSF

Существуют различные реализации JavaServer Faces API (JSF). Для целей этого руководства мы собираемся использовать один из Oracle , который мы собираемся добавить в качестве нового <зависимость/> к вашему pom.xml .


    com.sun.faces
    jsf-api
    2.2.20

Помимо зависимости, мы также должны настроить наш сервер приложений, чтобы он мог разрешать jsf и xhtml целевые страницы и сделать их способными взаимодействовать с нашими компонентами. Эта конфигурация находит место и в src/main/webapp/WEB-INF/web.xml :





  Archetype Created Web Application

  
    javax.faces.PROJECT_STAGE
    Development
  

  
    Faces Servlet
    javax.faces.webapp.FacesServlet
  

  
    Faces Servlet
    *.jsf
  

  
    Faces Servlet
    *.xhtml
  

После настройки вашего приложения мы могли бы создать наш первый Java-компонент, HelloWorldBean.java , в src/main/java . Этот класс будет простым вспомогательным компонентом, который предоставляет метод для передачи привета миру с Фуэртевентуры.

import java.io.Serializable;

import javax.inject.Named;
import javax.faces.view.ViewScoped;

@Named("helloworld")
@ViewScoped
public class HelloWorldBean implements Serializable {

    public String getMessage() {
        return "Hello World from Fuertefentura";
    }

}

Наконец, чтобы представить это сообщение, мы добавляем новый сервлет hello.xhtml в src/main/webapp , который использует наш вышеупомянутый компонент.





    #{helloworld.message}


#{helloworld.message}


Как и прежде, чтобы опробовать наш код, мы создаем наш проект и снова запускаем сервер.

mvn clean install && mvn wildfly:run

Если мы получим доступ к http://localhost:8080/jsf-demo/hello.xhtml с помощью нашего браузера мы теперь должны видеть дружественное сообщение в качестве заголовка и содержимого страницы.

“”Привет, мир с Фуэртевентуры”

4. Реализация примитивов

Primefaces – это набор инструментов пользовательского интерфейса, построенный в верхней части JSF. Он добавляет несколько компонентов, таких как таблица, панель, диалоговое окно и т.д. Возможно, вам это не понадобится но мне это нужно для моего следующего поста в блоге, поэтому давайте добавим его и в наш проект 😇

Мы действуем как предыдущие шаги, добавляя новый <зависимость/> к вашему pom.xml :


    org.primefaces
    primefaces
    7.0

Никакой специальной настройки не требуется, и из коробки мы уже должны иметь возможность использовать их компоненты. Мы могли бы, например, расширить наш hello.xhtml с помощью горизонтальной панели.






    #{helloworld.message}



    
        
            

            
        
    



Мы могли бы снова создать и запустить наш сервер приложений, чтобы опробовать нашу реализацию.

mvn clean install && mvn wildfly:run

Наконец-то мы смогли проверить http://localhost:8080/jsf-demo/hello.xhtml в вашем браузере, чтобы проверить, все ли работает правильно.

” Привет, мир с Фуэртевентуры”, представленный на панели Primefaces

Вуаля, мы сделали это! Мы создали проект Primefaces JSF с Maven и Wildfly и теперь можем провести некоторое тестирование 🎉 Более того, даже если я не с нетерпением жду возвращения домой, я смогу использовать этот пустой новый проект в качестве стартового набора для моей следующей статьи 😆

В бесконечность и дальше 🚀

Дэвид

Оригинал: “https://dev.to/daviddalbusco/create-a-primefaces-jsf-project-with-maven-and-wildfly-7pe”