Как я могу разделить класс между кодом клиента GWT и кодом сервера? - PullRequest
15 голосов
/ 13 января 2012

Можно ли "разделить" Java-класс между клиентским кодом GWT и серверным кодом?

У меня есть простой класс, который содержит несколько Strings и несколько List<String>.Я хотел бы иметь возможность использовать этот класс в коде на стороне клиента и на стороне сервера только для некоторой согласованности.

Просто, чтобы дать некоторую предысторию, класс, которым я пытаюсь поделиться, является просто контейнером для сообщения об ошибке с некоторой дополнительной информацией.В моем приложении есть некоторые ошибки, которые препятствуют сохранению, поэтому мы делаем эти проверки на стороне клиента (перед сохранением).Затем после сохранения мы делаем больше проверок «проверки» на сохраненном объекте на стороне сервера.

Я понимаю, что его нужно будет «скомпилировать» дважды, один раз для компиляции GWT и один раз для обычного javacкомпилировать, но кажется, что это возможно.

Есть ли способ настроить мой проект GWT для этого?

1 Ответ

19 голосов
/ 13 января 2012

Одной из причин использования GWT является наличие модели одного домена для клиента и сервера.

Обычной практикой является разделение классов между кодом сервера и клиентской стороной.

Обычно проект с исходным кодом клиента GWT разделяется до трех пакетов

com.yourpackage
               -shared
               -client
               -server

где пакет shared компилируется как в байт-код java, так и в javascript, client в javascript, а логика на стороне сервера помещается в пакет server.

Путь компиляции для клиента можно настроить в файле *.gwt.xml.

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