WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте
Apache Wicket
Тип веб-фреймворк
Разработчик Apache Software Foundation
Написана на Java
Операционная система Кроссплатформенное ПО
Аппаратная платформа Java Virtual Machine
Последняя версия 8.0.0 (22 мая 2018 года)
Состояние Активное
Лицензия Apache License 2.0
Сайт wicket.apache.org

Apache Wicket — фреймворк с открытым исходным кодом для создания веб-приложений. Разработан Джонатаном Локе (англ. Jonathan Locke) в 2004 году. С июня 2007 года является проектом Apache Software Foundation[1].

В отличие от многих фреймворков, которые управляются запросами, Wicket использует подход, основанный на использовании компонентов. Состояние компонентов пользовательского интерфейса сохраняется, когда пользователь запрашивает новую страницу, и затем восстанавливается, если запрос повторяется.

Парадигма программирования Wicket знакома разработчикам Java. Им не нужно знать ничего, кроме Java и HTML. AJAX можно использовать без знания JavaScript.

Wicket очень хорошо масштабируется. Если вы работаете в команде из 2 или из 20 человек, вы будете иметь все возможности для разделения функциональности до мельчайших кусочков. В зависимости от потребностей вашего проекта и ресурсов, вы можете разделить труд разработчиков до целых страниц, (многоразовых) панелей, или даже более специализированных компонентов. Из-за того, что Wicket использует обычные HTML-страницы для описания внешнего вида страниц и панелей, вы можете использовать дизайнеров и специалистов HTML/CSS для работы над внешним видом, и им не нужно знать Java или какой-либо другой язык или синтаксис.

Подход Wicket:

  1. Только Java и HTML — Для настроек достаточно одного стандартного файла web.xml. Не нужно тратить время на изучение правил XML-файлов или нового языка;
  2. Настоящее повторное использование — Конечная страница может состоять из множества мелких блоков, объединенных в единое целое. Написанный код можно поместить в jar-файл и повторно использовать без изменений;
  3. Просто и мощно одновременно — Wicket не загроможден множеством запутанных API;
  4. Использование AJAX возможно без единой строчки на JavaScript — Да, это возможно, потому что большинство кода JavaScript генерируются самим Wicket. Но, если вы желаете, можете внедрить JavaScript и вообще всё, что угодно. Ну, или почти всё.

Wicket удобен тем, что в нём отсутствуют многочисленные XML-файлы, все настройки делаются в коде. Если требуются динамические настройки через XML, их всегда можно внедрить. Программный код полностью разделён с HTML. Программный код состоит только из Java, а в HTML добавляются только простые wicket-теги.

Пример кода

Приложение типа Hello World, состоящее из 4-х файлов:

HelloWorld.html

Файл шаблона разметки на HTML.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" 
      xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.3-strict.dtd"
      xml:lang="en" lang="en">

<body>
    <span wicket:id="message" id="message">Message goes here</span>
</body>
</html>
HelloWorld.java

Компонент-страница, которая будет привязана к шаблону разметки. В данном случае, производится переопределение текста в компоненте "message" на текст "Hello World!".

package org.wikipedia.wicket;

import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;

public class HelloWorld extends WebPage {
    /**
     * Constructor
     */
    public HelloWorld() {
        add(new Label("message", "Hello World!"));
    }
}
HelloWorldApplication.java

Основной класс приложения, который направляет запросы c домашней страницы к компоненту-странице HelloWorld.

package org.wikipedia.wicket;

import org.apache.wicket.protocol.http.WebApplication;

public class HelloWorldApplication extends WebApplication {
    /**
     * Constructor.
     */
    public HelloWorldApplication() {
    }

    /**
     * @see org.apache.wicket.Application#getHomePage()
     */
    public Class getHomePage() {
        return HelloWorld.class;
    }
}
web.xml

Дескриптор развертывания, который устанавливает Wicket в качестве обработчика по умолчанию для сервлета.

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xmlns="http://java.sun.com/xml/ns/javaee" 
         xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
                             http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
         id="WebApp_ID" version="2.5">
    <display-name>Wicket Example</display-name>
    <filter>
        <filter-name>HelloWorldApplication</filter-name>
        <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
        <init-param>
            <param-name>applicationClassName</param-name>
            <param-value>org.wikipedia.wicket.HelloWorldApplication</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>HelloWorldApplication</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

Примечания

Литература

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии