Когда я вызываю метод ajaxRandom из контроллера, вместо обновления контента <div id="quote">, всё это дело рендерится на отдельную страницу. Возможно информацияв книге устарела и надо делать как-то по-другому, не решений не нашёл. Происходит следующие:
Спасибо за внимание!
Grails 2+, Windows 7, на mac os X тоже пробовал, та же история.
Работаю над мультиязычным(интернациональным) пректом и язык (локализация) используется в качестве первого параметра URI. Кроме того, вопрос возникает при интеграции со Spring Security Core Plugin. Но об этом дальше...
name login:"/$lang/login/$action"{ controller ='login'} name logout:"/$lang/logout/$action"{ controller ='logout'} name register:"/$lang/register/$action"{ controller ='register'}
СОбственно, вопрос. Без спринга все работает как надо, но URI's типа /login/denied, /login/authfail и пр, вылетают из общей схемы и не работают. Может быть и не правильно, но решил добавить в конфиге (вверху) доп параметр языка $lang, при этом урлы оживились, но фильтром язык не заполняется. Ошибка:
Error2011-11-1008:34:17,257["http-bio-8080"-exec-9] ERROR i18n.ParamsAwareLocaleChangeInterceptor-Error intercepting locale change:Locale value "[:]" contains invalid characters Message:Locale value "[:]" contains invalid characters
В общем, танцы с бубнами не увенчались - решил обратиться к сообществу. Как ПРАВИЛЬНО интегрировать спринг в подобного рода приложение ? Есть у кого-либо опыт в подобных проектах ? Заранее спасибо !
Однако сейчас у меня ни времени ни уже желания заниматься его развитием особого нет. На данный момент можно сказать что проект провалился. Однако, это полноценное работающее приложение на Grails с несколькими интересными фичами. А самое главное, что код опубликован на GitHub.
Вы можете использовать его как учебное пособие или для построения своего приложения. А можете помочь проекту вылезть из ямы. Ну и конечно это уникальная возможность самоутвердиться, путем высмеивания чужого кода :)
зы Если кому-то понадобится код под другой лицензией, обращайтесь ко мне.
Фильтрация данных по параметрам - требуется помощь Здравствуйте. У меня такая проблема.... Есть две таблицы (domain - класса) связанные соотношением mxn. Второя класс - некое численной значение, первый класс его параметры - месяц, год и пр. параметров нефиксированное число, поэтому пришлось завести класс, чтобы к значению можно было добавить в любой момент параметр.
class ParamValue { ParamType paramType String paramValue .... }
class IndicValue { Float indicValue ... }
Класс связки - class IndicParam { ParamValue paramValue IndicValue indicValue .... }
Есть некий список параметров, выбранный пользователем - paramList <ParamValue> Нужно выбрать такие показатели IndicValue, у которых есть ВСЕ параметры paramValue из paramList.
Как это сделать правильно ?
Рассматривала вариант создания хранимой процедуры (база MySQL). Насколько я разобралась, там нельзя передавать в процедуру неопределенной кол-во параметров (список) и получать, опять же, список значений на выходе (хотела использовать типы set или enum или еще что то в этом роде).
Организация subdomain Давайте поговорим о том, как лучше реализовать поддомены в одном проекте на Grails.
1) Хочется что-то вроде:
а) в debug режиме иметь ссылки localhost:8080/sub1/controller/action localhost:8080/sub2/controller/action
б) в релиз режиме иметь ссылки sub1.domain.com/controller/action sub2.domain.com/controller/action
Сделать работу таких ссылок через UrlMappings проблем нет. Есть проблема как нормально генерировать такие ссылки использую стандартный (g:link controller="" action="") и прочие теги.
2) Т.к. имена контроллеров обязательно должны быть разные, то я планирую в их названии использовать префикс поддомена. Будет, например, два контроллера Sub1AdminController и Sub2AdminController. Хочется, чтобы в ссылках эти префиксы были убраны (и при использовании g:link тоже):
а вот с генерацией засада. переписывать библиотеки тегов не хочу. хочется по максимуму использовать предлагаемую функциональность без расширения или замены компонентов grails.
--
Возможно кто-то уже сталкивался с этой проблемой. Или есть какие-то идеи. Пишите.
Хочется сделать Tag. На выходе для этого Tag'a генерируется Html. Однако хотелось бы иметь возможность пробежаться по внутренним gsp-узлам перед генерацией. Не знаю как это сделать, а в документации довольно тривиальные вещи - http://grails.org/Dynamic%20Tag%20Libraries. Максимум рассказывается про доступ к внутренним узлам через Closure, чего мне недостаточно (или я ошибаюсь?).
Юнит тестирование контроллера Пытаюсь разобраться с тестами контроллеров. Сделал как в примере petclinic. Тесты отваливаются с NullPointerException в GrailsDomainConfigurationUtil.class на строке boolean hasHibernate = PluginManagerHolder.getPluginManager().hasGrailsPlugin("hibernate");
Попытался запустить тесты из примера Perclinic (grails test-app). Два теста завершаются с ошибкой NullPointerException.
Господа, есть нужда прочитать файл RTF. Есть мнение, что на groovy это сделать будет проще чем на java. Если это не так - скажите =) и киньте полезными ссылками, если у кого есть .. спасибо.
В Grails все классы должны реализовывать интерфейс GrailsClass. Конкретно меня интересуют методы getFullName(), getPackageName(), getShortName() и др. подобные.
Я создаю новый объект класса User (класс-домен) и пытаюсь вызвать метод getShortName(). Программа падает с сообщением:
groovy.lang.MissingMethodException:
No signature of method: static User.getShortName() is
applicable for argument types: () values: []
Код разумеется простой:
def domain = new User(firstName: 'Andrey', lastName:'Rychkov');
println domain.getShortName();
Есть ли хороший способ узнать предыдущую action? Ситуация: есть chain из таких акций: a) startProcess, b) action1, c) action2. Т.е. startProcess запускает chain из action1, action2.
В конце action2, хочется вернуться туда откуда всё началось, то есть туда откуда стартанул startProcess.
Сам chain не предоставляет такой возможности. Поэтому я решил через модель передавать название контроллера и акции чтобы потом сделать редирект. Только увы - не понятно как определить исходный action. Свойство actionName, даже через перехватчик, всегда установлено на startProcess.
Через request не хочется передавать, т.к. это потенциальная дыра.
Вопрос №2
Есть 2 доменных класса, связанных между собой 1-к-1. Один из них владелец (hasOne), другой - принадлежащий (belongsTo). Есть также ограничения в обоих классах на то, что связь должна быть не-null. Вроде бы вполне логичное ограничение, когда объект не может существовать без другого.
Дефолтный scaffolding не позволяет никак работать с такой моделью, потому что не может по-отдельности создать объекты из-за ограничений. Конечно, можно забыть про дефолтный скафолдинг и про вид, который нагенерирует сам grails, и писать свой вид и контроллер - в которых связываются и редактируются сразу два объекта.
Другая ситуация - это иметь раздельные контроллеры и виды, но переключаться через chain, и сохранять объекты каскадно в контроллере класса-владельца (т.к. объект класса-потомка сохранять нельзя, ведь владелец может к этому моменту еще не быть в базе).
Как вообще быть? Неужели никто не задумывался над редактированием разветвленной модели?
не работает... т.е. при удалении (вручную) записи из таблицы 'mail' СУБД ругается, что имеются связанные записи в таблице mail_attachment. Ну и в phpmyadmin если связи посмотреть у таблицы mail_attachment, то на удаление там пустое значение стоит, а должно быть CASCADE...
Grails и Flash Господа, подскажите пожалуйста, как заставить работать swf файл в GSP? swf имеет ряд внешних файлов (xml-конфигурация и набор картинок). Поставил плагин flash-player, использую такую вставку: <g:flashPlayer id="test" varFile="${resource(dir: 'flash', file: 'photowidget.swf')}" paramAllowScriptAccess="always" flashvars="feed=${resource(dir:'flash',file:'photowidget.xml')}"/>
все файлы находятся в подпапке проекта flash, на странице плеер отображается, но не подгружаются ресурсы.
Новый сайт на платформе grails - develosaur.ru Мы открыли новое сообщество разработчиков программного обеспечения - develosaur.ru Приглашаем авторов статей по grails и groovy принять участие в развитии сообщества и популяризации стека технологий, основанных на java/groovy!
Сайт написан полностью на платформе grails. Архитектура системы: ОС Ubuntu Server + Apache Web Server + Apache Tomcat + MySQL + Grails 1.2.2
Ввожу русское название нажимаю на кнопку - в контроллере делается POST запрос к другому сервлету и затем делается redirect на эту же страницу: redirect(view : "payWP", params:[id: params.id, nick: params.nick, res:res])
В итоге в поле nick образуется абракадабра вида:âõÃÂàА url выглядит как ../payWP/43?...&nick=ТеÑÑ&res=-7
Все исходники в UTF-8 Среда исполнения Tomcat/Linux, Grails 1.2.1, jdk 1.5
Для запуска Tomcat и для компиляции grails использую -Dfile.encoding=UTF-8
Не пойму в чем дело. Никто с таким не сталкивался?