jQuery Mobile загрузит дополнительные фоновые страницы в DOM, а затем перейдет к ним. Иногда это работает хорошо, но в примере, где используется сервлет JSP, похоже, что он ломается. Я задавался вопросом, каков наилучший способ сделать это.
Например, скажем, у нас на первой странице это:
<div data-role="page" id="home">
<div data-role="content">
<a href="jqmServlet?value=1.1">1.1</a>
</div>
</div>
Где 1.1 - это что-то, что может отличаться, и поэтому сервлет должен делать что-то другое.
Теперь сервлет возвращает страницу, содержащую это:
<div data-role="page" id=${pageThing}>
<div data-role="content">
<a href="#OTHER_1">other 1</a></li>
</div>
</div>
<div data-role="page" id="OTHER_1">
<div data-role="content">
<p>Other 1 Content</p>
</div>
</div>
Начиная первую страницу, я нажимаю «1.1», она переходит к сервлету, и я вижу ссылку «другой 1». Так что все это ожидается. Но когда я нажимаю «прочее 1», происходит сбой, потому что основная ссылка выглядит как jqmServlet?value=1.1#OTHER_1
, что явно не то, что я намеревался. То, что я намеревался, было «другим 1 контентом», отображаемым только с использованием контента, уже имеющегося в DOM.
Я начал играть с параметром «data-url», но пока не понял секретного рукопожатия.
Какой правильный способ сделать это?
РЕДАКТИРОВАТЬ: Мне кажется, это будет стандартная вещь, которая должна быть выполнена. Я перепробовал десятки вариаций URL-адреса данных, но не смог заставить его работать должным образом; всегда была какая-то проблема с URL-адресом, или если я получал URL-адрес, выглядящий довольно хорошо, он все равно не отображал страницу «OTHER_1» (он просто действовал так, как если бы эта страница в DOM не существовала). Я собирался заменить ссылку вызовом JavaScript, но это отрицает ценность этого инструмента. У кого-нибудь есть идеи?