Управление несколькими страницами Google Web Toolkit в 1 проекте - PullRequest
1 голос
/ 03 апреля 2009

У меня есть проект, который будет состоять в основном из сервлетов Java, страниц JSP / Html и некоторого обычного JavaScript. Тем не менее, есть некоторые экраны, которые будут слишком сложными для использования только в javascript, поэтому я хочу использовать для этого GWT.

Возможно ли это сделать, чтобы в одном проекте было несколько EntryPoint классов? Затем, в зависимости от того, какая страница загружается, я загружу соответствующий файл javascript?

Я думал, что, возможно, функция RootPanel.get() будет использоваться для проверки существования определенного <div>s с данным идентификатором. Например, если div для регистрации существует, загрузите элемент управления GWT для регистрации, если div для 'search' существует, тогда загрузите Search, но это сделает файл javascript очень большим. Я бы предпочел, чтобы каждый компонент был в своем собственном файле JavaScript.

Это возможно?

Ответы [ 3 ]

1 голос
/ 05 апреля 2009
1 голос
/ 06 апреля 2009

Вот пятиминутный молниеносный разговор, который я провел на эту тему: http://www.youtube.com/watch?v=0DuR9xDvrHA&feature=channel_page

Понятно, что вы не можете поместить много информации в 5 минут, поэтому, надеюсь, этого будет достаточно для начала работы, но если у вас есть дополнительные вопросы, пожалуйста, не стесняйтесь спрашивать.

Я намереваюсь сделать больше примеров кода доступным, но я не нашел время.

1 голос
/ 03 апреля 2009

Я думаю, что было бы лучше разделить страницы на модули GWT. Если вы будете использовать RootPanel.get (), чтобы проверить, существует ли конкретный слот (DIV или другой элемент), ваш модуль будет содержать весь ваш пользовательский интерфейс, поэтому клиент загрузит весь модуль, получая доступ только к одной странице, что, впрочем, не потребует дополнительных затрат. Вы можете поместить общий код в некоторый модуль, от которого унаследуются все модули ваших страниц.

RootPanel.get () лучше иметь наборы виджетов (логические панели в вашем пользовательском интерфейсе, например, меню, основное содержимое и т. Д.), И вы можете размещать их в соответствующих слотах на странице.

Пример структуры в вашем приложении будет выглядеть (см. Вопрос в комментарии):

- gwtui
-- common (module1)
--- client
---- widgets (eg. common widgets)
---- ...
---- ApplicationService.java
---- ApplicationServiceAsync.java
--- public
---- images (common images etc.)
---- css (common style)
---- ...
--- server
---- ...
---- ApplicationServiceImpl.java
--- GwtCommon.gwt.xml
-- expenses (module2)
--- client
---- ExpensesEntrypoint.java
--- public
--- server
--- GwtExpenses.gwt.xml (inherits GwtCommon, entry point ExpensesEntrypoint)
-- reports (module2)
--- client
---- ReportsEntrypoint.java
--- public
--- server
--- GwtReports.gwt.xml (inherits GwtCommon, entry point ReportsEntrypoint)

Обратите внимание, что вы можете использовать один сервис во всех модулях, также как и в общем модуле, вам может не потребоваться создавать точку входа (но я не уверен на 100%, в каком-то старом проекте мне пришлось создавать пустую точку входа , но не помню точную причину - извините)

Это сработало для нас.

Я, конечно, хотел бы услышать разные мнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...