繁体中文
设为首页
加入收藏
当前位置:手机频道首页 >> SP大本营 >> 技术参考 >> 其它技术 >> wap开发faq

wap开发faq (2)

2005-06-25 10:41:00  作者:罗伟民  来源:移动通信  浏览次数:1401  文字大小:【】【】【
关键字: asp jsp php 教程 手机

 

11. 如何使用PHP来书写动态的WML页面?

    PHP(和大多数其他服务端脚本语言一样)可以被用来书写动态的WML内容。只需要将输出的标记限制在WML微型浏览器可接受的范围内。
    注意PHP有很多内建的HTML功能,特别是错误功能,这些功能WML微型浏览器可能无法识别。
    PHP同样可以在一个HTML文件中编写出既适合于HTML,也适合于WML的内容。PHP的源代码对于客户端来说是不可见的。因此可以针对HTML浏览器输出HTML页面,针对WML浏览器输出WML页面。
    可以在开发PHP编写的WML页面的时候把以下代码加在开头:

<?

// header("Content-type: text/vnd.wap.wml");
  echo("<?xml version="1.0"?> ");
echo("<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
//"/n/n">http://www.wapforum.org/DTD/wml_1.1.xml"> ");
?>

    基于PC的浏览器将忽略这些无法理解的WML标记。但是如果想在WAP设备或者模拟器上测试的时候,只需要将"//"去掉,页面自动变成WML页面。

12. 使用PHP动态输出WML

    这些例子生成一个非常有用的应用叫做:PizzaCalc。它将输入所有的pizza的帐单和人的数目,可以算出每个人的花费。
    应用生成一个动态的页面叫做“calc”或者“input”。注意到所有的转义字符例如双引号。该页显示了一个简单的变量处理,和如何传递参数到另外的卡片:
    使用WML浏览器就可以测试应用程序:
        http://wap.colorline.no/wap-faq/apps/pizzacalc.html
    或者输入:
        http://wap.colorline.no/demos.html选择应用。

<?
header("Content-type: text/vnd.wap.wml");
echo("<?xml version="1.0"?> ");
echo("<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"/n/n">http://www.wapforum.org/DTD/wml_1.1.xml"> ");
echo("<!--The application PizzaCalc was originally made by The Crusaders
www.crusaders.no on the Commodore Amiga --> ");
echo("<!-- It was unfortunately not possible to emulate the crap interger handling of the
original program --> ");
?>

<wml>
<?
  if($action == "calc") {
    echo("<card id="result" title="PizzaCalc"> ");
    echo("<do type="prev" label="Back"> ");
    echo("<go href="pizzacalc.html#input"/> ");
    echo("</do> ");
    echo("<p> ");
    echo("The cost per eater will be ".$total / $eaters."<br/> ");
  }
  else {
    echo("<card id="input" title="PizzaCalc"> ");
    echo("<p> ");
echo("<anchor>Split Pizza bill
<go href="pizzacalc.html?total=$(total)&eaters=$(eaters)&action=calc"/>
</anchor> ");
    echo("<br/> ");
    echo("Total cost: <input type="text" name="total" format="*N"/> ");
    echo("Eaters: <input type="text" name="eaters" format="*N"/> ");
  }
?>
</p>
</card>
</wml>

13. 可以使用Java Servlet来生成WML页面吗?

    当然。可以使用创建HTML同样的方法来创建WML。如果想书写一个CGI来创建WML,只要记住在页面的开头正确设置MIME类型:
    response.setContentType("text/vnd.wap.wml");

14. 可以使用ASP、Perl等生成动态的应用吗?

    是的。可以使用任何服务器端的脚本语言来生成WAP应用。

15. 如何使用ASP书写WML内容?

    ASP(Active Server Pages)可以做到和PHP一样,也可以用来书写动态的WML。如果需要一些好的例子请参考Luca Passani"s WAP and ASP articles。或者查看Jean-Luc Praz"s (jeanluc@corobori.com)。更多的ASP例子在:http://www.corobori.com/wap/

16. 在使用ASP动态输出WML页面的时候,已经设置了Content-type,但是浏览器返回的仍然是text/html,有什么问题吗?

    如果在ASP脚本中有一个错误,那么诊断程序会发还一个HTML页面,请检查脚本。

17. 在使用ASP生成WML页面的时候出现了错误: <MIME type "text/html" is not supported>,会是什么问题?

    这个问题是Web浏览器不知道WML的正确类型,修改ASP的第一行,加入:

    <Response.ContentType = "text/vnd.wap.wml"> 

    后就可以工作了。

18. 下面的代码有什么问题吗?

<%Response.ContentType = "text/vnd.WAP.WML"%>
<?xml version="1.0"?>

    去掉<?xml version="1.0"?>之前的空格。XML解释器希望在这行中没有其他字符,甚至是空行。

此文章不能满足您的需求?那就就Google一下吧:)

Google
 
[1] [2] [3] [4] [5] [6] [7] [8]

责任编辑:imobile


相关文章
 

最新文章

更多

· 电子书:标准亟待统一
· 卡巴斯基在中国地区发布...
· Sun力推Java标准版 手机...
· Symbian正式启动中文网站...
· 移动无线网络的基础 移动...
· 手机网游存终端、网络质...
· 揭密:怎么发1分钱的短信
· 让我教你如何用IE来浏览...
· 手机游戏研发寻找突破口
· 各公司MMS解决方案

推荐文章

更多

· 电子书:标准亟待统一
· 卡巴斯基在中国地区发布...
· Sun力推Java标准版 手机...
· Symbian正式启动中文网站...
· 移动无线网络的基础 移动...
· 手机网游存终端、网络质...
· 揭密:怎么发1分钱的短信
· 让我教你如何用IE来浏览...
· 手机游戏研发寻找突破口
· 各公司MMS解决方案

热点文章

更多

· 电子书:标准亟待统一