Проблема с Ajax

Пробывал по гайду из книги:

Код представления:

[Код (открыть)]
<html>
<head>
    <title>Random Quote</title>
    <g:javascript library="prototype"/>
</head>
<body>
<ul id="menu">
    <li>
        <g:remoteLink action="ajaxRandom" update="quote">
            Next Quote
        </g:remoteLink>
    </li>
    <li>
        <g:link action="list">
            Admin
        </g:link>
    </li>
</ul>
<div id="quote">
    <q>${quote.content}</q>
    <p>${quote.author}</p>
</div>
</body>
</html>



Код из контроллера:


[Код (открыть)]
    def ajaxRandom = {
        def randomQuote = quoteService.getRandomQuote()
        render "<q>${randomQuote.content}</q>" +
                "<p>${randomQuote.author}</p>"
    }



Когда я вызываю метод ajaxRandom из контроллера, вместо обновления контента <div id="quote">, всё это дело
рендерится на отдельную страницу. Возможно информацияв книге устарела и надо делать как-то по-другому, не решений 
не нашёл.
Происходит следующие:

 


Спасибо за внимание!

Grails 2+, Windows 7, на mac os X тоже пробовал, та же история.

GRAILS: spring-security-core plugin and locale

Всем привет!
Решил прибегнуть к помощи студии )) тк уже второй день бьюсь безрезультатно...

Работаю над мультиязычным(интернациональным) пректом и язык (локализация) используется в качестве первого параметра URI. Кроме того, вопрос возникает при интеграции со Spring Security Core Plugin. Но об этом дальше...

Итак, URLs:

http://domain.com:8080/app/en/controller/action/id
http://domain.com:8080/app/de/controller/action/id
http://domain.com:8080/app/fr/controller/action/id

Здесь мой UrlMappings.groovy:


class UrlMappings {

static mappings = {

    name login:    "/$lang/login/$action"    { controller = 'login' }
    name logout:   "/$lang/logout/$action"   { controller = 'logout' }
    name register: "/$lang/register/$action" { controller = 'register' }

    "/$lang/$controller/$action?/$id?" {
        constraints {
        }
    }

    name index: "/$lang" { controller = 'index' }
    "/" { controller = 'index' }

    "500" { controller = 'errors' }
}
}

Здесь LanguageFilters.groovy

class LanguageFilters {

def filters = {
    languageCheck(controller: '*', action: '*') {
        before = {
            if (params.lang == null) {
                redirect controller: params.controller, action: params.action,
                         params: ['lang': request.locale.language.toString()] + params
           
}
        }
    }
}
}

Здесь Config.groovy:

grails.plugins.springsecurity.failureHandler.defaultFailureUrl = "/$lang/login/authfail?login_error=1"
grails.plugins.springsecurity.failureHandler.ajaxAuthFailUrl = "/$lang/login/authfail?ajax=true"
grails.plugins.springsecurity.successHandler.defaultTargetUrl = "/$lang"
grails.plugins.springsecurity.successHandler.ajaxSuccessUrl = "/$lang/login/ajaxSuccess"
grails.plugins.springsecurity.auth.loginFormUrl = "/$lang/login/auth"
grails.plugins.springsecurity.auth.ajaxLoginFormUrl = "/$lang/login/authAjax"
grails.plugins.springsecurity.logout.afterLogoutUrl = "/$lang"
grails.plugins.springsecurity.adh.errorPage = "/$lang/login/denied"
grails.plugins.springsecurity.adh.ajaxErrorPage = "/$lang/login/ajaxDenied"

СОбственно, вопрос. Без спринга все работает как надо, но URI's
типа /login/denied, /login/authfail и пр,
вылетают из общей схемы и не работают.
Может быть и не правильно, но решил добавить в конфиге (вверху) доп
параметр языка $lang, при этом урлы оживились, но фильтром язык не
заполняется. Ошибка:

Error 2011-11-10 08: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

В общем, танцы с бубнами не увенчались - решил обратиться к сообществу.
Как ПРАВИЛЬНО интегрировать спринг в подобного рода приложение ?
Есть у кого-либо опыт в подобных проектах ?
Заранее спасибо !

Я

Greetim.com - прототип dating'а на Grails

Greetim — это прототип сайта знакомств с оригинальным алгоритмом поиска партнеров. Написан на Grails+PostgreSQL. Подробней он описан в моем посте http://kefirfromperm.livejournal.com/328087.html

Однако сейчас у меня ни времени ни уже желания заниматься его развитием особого нет. На данный момент можно сказать что проект провалился. Однако, это полноценное работающее приложение на Grails с несколькими интересными фичами. А самое главное, что код опубликован на GitHub.

https://github.com/kefirfromperm/dating

Вы можете использовать его как учебное пособие или для построения своего приложения. А можете помочь проекту вылезть из ямы. Ну и конечно это уникальная возможность самоутвердиться, путем высмеивания чужого кода :)

зы Если кому-то понадобится код под другой лицензией, обращайтесь ко мне.
  • Current Music
    Contraband - Working Class

Фильтрация данных по параметрам - требуется помощь

Здравствуйте. У меня такая проблема....
Есть две таблицы (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 или еще что то в этом роде).

Помогите советом
  • Current Mood
    upset
аватар&#39;2009
  • jonny81

Организация 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 тоже):

Нехочется, ненравится:
localhost:8080/sub1/sub1Admin/
localhost:8080/sub2/sub2Admin/

Хочется, нравится:
localhost:8080/sub1/admin/
localhost:8080/sub2/admin/

Т.е. опять получается, что обработку таких "правильных" ссылок я могу сделать через UrlMappings:
class UrlMappings {
	static mappings = {
		"/$project/$pController/$action?/$id?" {
			controller = {"${params.project}${params.pController}"}
		}
	}
}

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

--

Возможно кто-то уже сталкивался с этой проблемой. Или есть какие-то идеи. Пишите.
  • Current Music
    echo msk
аватар&#39;2009
  • jonny81

пакетное удаление

Добрый день,

Сейчас пакетное удаление реализуется следующим образом:
def results = Domain.withCriteria {
    // здесь какие-либо критерии
}

Domain.withTransaction {
    results.each {
        it.delete();
    }
}


Возможно этот код объединить в Grails как-то? Чтобы удаление без выборки происходило (без использования HQL с execute) ?

(no subject)

Экспериментирую с GSP TagLib.

Хочется сделать Tag. На выходе для этого Tag'a генерируется Html. Однако хотелось бы иметь возможность пробежаться по внутренним gsp-узлам перед генерацией. Не знаю как это сделать, а в документации довольно тривиальные вещи - http://grails.org/Dynamic%20Tag%20Libraries. Максимум рассказывается про доступ к внутренним узлам через Closure, чего мне недостаточно (или я ошибаюсь?).
аватар&#39;2009

Юнит тестирование контроллера

Пытаюсь разобраться с тестами контроллеров.
Сделал как в примере petclinic. Тесты отваливаются с NullPointerException в GrailsDomainConfigurationUtil.class на строке
boolean hasHibernate = PluginManagerHolder.getPluginManager().hasGrailsPlugin("hibernate");

Попытался запустить тесты из примера Perclinic (grails test-app). Два теста завершаются с ошибкой NullPointerException.

Read more...Collapse )