У меня есть html файл в моей папке WEB-INF, доступ к которой возможен только сервлетом. Вот как мой сервлет отправляет запрос на эту страницу html
ServletContext context= getServletContext();
RequestDispatcher rd= context.getRequestDispatcher("/WEB-INF/file.html");
rd.forward(req, resp);
У моего файла file.html есть 2 data-role = "page", но отображается только первая data-role = "page". Вы, ребята, знаете, почему jquery-mobile предоставляет только одну из двух страниц. Вот шаблон моего файла file.html.
<div data-role="page" id="profile-page" data-dialog="true">
...
</div>
<div data-role="page" id="main-page">
...
</div>
Таким образом, в основном мой сервлет перенаправляет пользователя в файл.html, это может быть одной из причин, почему страница не создается.
В jQuery Mobile мы можем показывать только одну страницу за раз, так как каждая страница занимает всю видимую высоту.
Существует опция многостраничного шаблона, но даже там мы можем показывать только одну страницу за раз, но мы можем ссылаться на другие страницы с помощью навигации.
Пример кода для многостраничного шаблона из jQuery Docs
<body>
<!-- Start of first page -->
<div data-role="page" id="foo">
<div data-role="header">
<h1>Foo</h1>
</div><!-- /header -->
<div role="main" class="ui-content">
<p>I'm first in the source order so I'm shown as the page.</p>
<p>View internal page called <a href="#bar">bar</a></p>
</div><!-- /content -->
<div data-role="footer">
<h4>Page Footer</h4>
</div><!-- /footer -->
</div><!-- /page -->
<!-- Start of second page -->
<div data-role="page" id="bar">
<div data-role="header">
<h1>Bar</h1>
</div><!-- /header -->
<div role="main" class="ui-content">
<p>I'm the second in the source order so I'm hidden when the page loads. I'm just shown if a link that references my id is beeing clicked.</p>
<p><a href="#foo">Back to foo</a></p>
</div><!-- /content -->
<div data-role="footer">
<h4>Page Footer</h4>
</div><!-- /footer -->
</div><!-- /page -->
</body>
ЗАМЕТКА:
То, что вы пытаетесь сделать, невозможно с несколькими страницами. Вы должны использовать одну страницу и показывать/скрывать определенные divs согласно вашему требованию. Вы должны написать свою собственную логику, jQuery Mobile не может помочь в этом сценарии.
Справка: