我是JQuery Mobile的新手。我有一个基于Apache Wicket的应用程序,我想尝试使用JQuery Mobile,因此它在移动设备上看起来更令人愉悦。不幸的是,我收到所有页面链接的"Error Loading Page"
错误,在切换到JQuery Mobile之前我从未遇到过这些错误。根本原因似乎是HTTP请求中包含的URL。我使用了JQuery Mobile 1.2.0,JQuery 1.8.0,Wicket 1.5.5,使用jetty服务器6.1.26和FireFox 16.0进行了本地测试。以下是代码段:
<ul data-role="listview" data-theme="b">
<li><a href="#" wicket:id="metaprofileList" rel="external">List</a>
</li>
</ul>
相应的java代码:
add(new BookmarkablePageLink<MetaprofileListPage>(
"metaprofileList", MetaprofileListPage.class));
基于上述情况,Wicket正确地将"#"
中的href="#"
替换为页面所在的真实网址,因此最终的HTML如下所示:
<ul data-role="listview" data-theme="b">
<li><a href="com.alcatel_lucent.nms8770.awol.client.web.page.MetaprofileListPage" wicket:id="metaprofileList" rel="external">List</a>
</li>
</ul>
单击链接时,Jetty服务器使用以下URL发送以下HTTP请求:
GET http://127.0.0.1:7999/com.alcatel_lucent.nms8770.awol.client.web.page.MetaprofileListPage [HTTP/1.1 404 Not Found 0ms]
这不是MetaprofileListPage的正确URL。在我切换到JQuery Mobile之前,我测试了相同的场景,同一个jetty服务器使用CORRECT url发送以下HTTP请求:
GET http://127.0.0.1:7999/wicket/bookmarkable/com.alcatel_lucent.nms8770.awol.client.web.page.MetaprofileListPage?7 [HTTP/1.1 200 OK 0ms]
我做的唯一更改是从以下位置切换HTML文件中的标题:
<link rel="stylesheet" type="text/css" href="../../css/phone.css" media="only screen and (max-width: 480px)"/>
<link rel="stylesheet" type="text/css" href="../../css/default.css" media="only screen and (min-width: 1025px)"/>
<link rel="stylesheet" type="text/css" href="../../css/portrait.css" media="all and (max-device-width: 1024px) and (orientation:portrait)"/>
<link rel="stylesheet" type="text/css" href="../../css/landscape.css" media="all and (max-device-width: 1024px) and (orientation:landscape)"/>
<meta name="viewport" content="user-scalable=no, width=device-width"/>
对于标准样板文件jquery mobile包括:
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
<script src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
我现在已经苦苦挣扎了两个星期了:-(我需要做些什么才能让JQuery Mobile加载正确的网址/页面?请帮助!!非常感谢!!
答案 0 :(得分:0)
您可能装载您的可收藏页面在一个众所周知的短片段下,例如
您通常在覆盖Application#init方法时执行此操作,例如:
@Override
protected void init() {
mountPage("/cheeses/${cheese}", CheesePage.class);
mountPage("/profile", MyProfile.class);
}
这至少会删除这些包名。