На моем сайте (управляемом eXist-db 4.4) у меня есть страница поиска:
http://localhost:8081/exist/apps/deheresi/search
Содержит простую форму, которая отправляет поисковый запрос, например:
http://localhost:8081/exist/apps/deheresi/search?keyword=someword
Страница обслуживается через шаблоны в eXist-db, которые запускаются при controller.xql
получении запроса:
else if (starts-with(lower-case($exist:path), "/search")) then
<dispatch xmlns="http://exist.sourceforge.net/NS/exist">
<forward url="{$exist:controller}/search.html"/>
<view>
<forward url="{$exist:controller}/modules/view.xql">
<add-parameter name="searchterm" value="{$exist:resource}"/>
<add-parameter name="pagetype" value="search"/>
</forward>
</view>
</dispatch>
В этом контексте я бы предположил, что $exist:resource
будет содержать некоторую строку, которая включает ?keyword=someword
или что-то в этом роде (чтобы я мог дополнительно проанализировать запрос). Но ничего не выводится на параметр. У меня такое ощущение, что я не совсем понимаю, как получить строку запроса из http-запроса в контроллере eXist.
Большое спасибо заранее за любые советы.