<p>最近要开发wap的项目,所以先了解了一下。</p> <p>wap1.0是应用wml 用于开发应用,到了wap2.0 就开始应用xhtml mp 来开发wap应该。</p> <p>xhtml mp 比html更规范, 比wml 渲染效果更强。更好的用户体验。</p> <p>在网上看到了一个比较好的例子,用于动态选择xhtml mp的mime类型</p> <p>XHTML MP支持下面三种MIME类型 <br />1. application/vnd.wap.xhtml+xml <br />2. application/xhtml+xml <br />3. text/html <br />第一种类型是一些wap浏览器所需要的(如某些诺基亚S60浏览器),以便正确显示XHTML MP文档。 <br />第二种是XHTML系列文档的类型 <br />第三种是HTML文档的类型。这样用IE6就可以正常浏览这些文档,而如果遇到上面的两种类型就会弹出一个对话框让你保存这些文档。动态选择MIME类型,比如服务器端判断某个客户端请求可以处理application/vnd.wap.xhtml+xml MIME类型,那所有的XHTML MP文档就都使用application/vnd.wap.xhtml+xml MIME类型发送给客户端。 <br />要实现这个就必须通过服务器端编程,获取客户端HTTP请求的Header值,这里面的值包含客户端可以处理的所有MIME类型。 <br />如果支持就设置XHTML MP的MIME类型为application/vnd.wap.xhtml+xml,如果支持其它的,就设置成其它的。 <br />下面的例子是JSP的,但是你如果使用其它技术的话,原理是一样的,代码也是大同小异!</p> <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:d64d770f-2a29-4651-9399-e3111d9d0972" class="wlWriterEditableSmartContent"><pre class="brush: java; gutter: false; first-line: 1; tab-size: 4; toolbar: false; width: 400px; height: 293px;" style=" width: 400px; height: 293px;overflow: auto;">String acceptHeader = request.getHeader(“accept”);
if(acceptHeader.indexOf(“application/vnd.wap.xhtml+xml”) != -1){
response.setContentType(“application/vnd.wap.xhtml+xml”);
}else if (acceptHeader.indexOf(“application/xhtml+xml”) != -1){
response.setContentType(“application/xhtml+xml”);
}else{
response.setContentType(“text/html”);
} </pre><!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin. http://dunnhq.com --></div>