WEB开发网
开发学院软件开发Java 精通 Grails: Grails 与移动 Web 阅读

精通 Grails: Grails 与移动 Web

 2009-10-26 00:00:00 来源:WEB开发网   
核心提示: 当从 GSP 中发送出 WML 时,切记要将默认的 MIME 类型 text/html 替换为 text/vnd.wap.wml,精通 Grails: Grails 与移动 Web(4),如清单 1 中的第一行所示,如果直接提供静态 WML,这样就可以有效地提前获取其余的页面,对于这种情况,那么

当从 GSP 中发送出 WML 时,切记要将默认的 MIME 类型 text/html 替换为 text/vnd.wap.wml,如清单 1 中的第一行所示。如果直接提供静态 WML,那么只需赋予文件一个 WML 扩展名,而不是 GSP 扩展名。大多数 Web 服务器会在这之后自动返回一个正确的 MIME 类型,无需调用 response.setContentType。在 $TOMCAT_HOME/conf/web.xml 中,您会发现 MIME 针对 WML 文件的映射已经就位。如果您使用的是 Apache HTTPD 的话,那么您可以在 $APACHE_HOME/conf/mime.types 文件中找到类似的 WML 文件的映射。清单 2 向展示了 Tomcat 的 MIME 类型映射:


清单 2. 在 Tomcat 中设置 MIME 类型
<mime-mapping> 
 <!-- WML Source --> 
 <extension>wml</extension> 
 <mime-type>text/vnd.wap.wml</mime-type> 
</mime-mapping> 

回过头来在看一下 清单 1,接下来需要注意的是 DOCTYPE。包含文档类型定义(Document Type Definition,DTD)语句可以帮助将 WML 文档识别为 testwml.gsp。

注意该文件并未打包在常见的 <html> 标记中。它的开头和结尾为 <wml>。您可能还注意到 清单 1 中缺少 <head> 和 <body> 部分。每一个 WML 页面为一个 card,拥有一个独立的 id 属性和便于用户使用的 title 属性。

通常情况下,在一个单一文件中可以下载多个页面/卡片。早期的手机的数据通道非常狭窄,而这种方法刚好就缓和了这些设备及其网络的局限性。一次下载得越多,手机与服务器之间的数据转就越少。因为一次只能查看一个页面,这样就可以有效地提前获取其余的页面。对于这种情况,导航只发生在客户端。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:精通 Grails Grails

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接