首页  |  精品网站  |  原创作品秀   |  艺术设计  |  网络学院  |  信息中心  |  站内搜索  |  求职招聘  |  建站资源  |  服装网站  |  编程开发 |  设计论坛 
  平面设计 画册 VI欣赏 包装 CG-插画   酷站 个人网页 商业网站   Alexa排名 CSS 建站资源 下载专区 JS特效 品牌服装 服装院校   专题欣赏 SEO 图标欣赏
域名注册 虚拟主机 广州网站建设 广州网页设计 IDC赞助 设计资源下载 虚拟主机 域名注册 品牌网站建设 服装品牌网站建设 广告服务 网站推广 娱乐
当前位置:首 页 >> 网络学院 >> WAP网站攻略 >> WAP建站入门教程

WAP建站入门教程

来源:yesky 被读3031次

中资源
转载请注明出处-中国设计秀-cnwebshow.com

先看一个简单的例子程序:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<% response.setContentType("text/vnd.wap.wml"); %>
<wml>
<card id="start">
    <do type="accept">
        <go href="index.jsp#test"/>
    </do>
    <p>
        JSP Test:<br/>
        Press accept to continue!<br/>
    </p>
</card>

<card id="test">
    <do type="prev">
        <prev/>
    </do>
<%
    out.println("<p>");
    out.println("Hello from script code!<br/>");
    out.println("</p>");
%>
</card>
</wml>
    下面将要演示使用WML和Java Server API如何简单快速地在WAP终端上生成动态的WML页面。这里将不再去讲每个WML标记的作用,而是给出一个简单的例子。这个例子体现出整个语言的特点。
    这个JSP例子显示了为一个移动用户定时更新约会的例子,例如:做一个给家里打电话的应用程序。这个应用是在Windows NT下使用Java Server Web Development Kit(JSWDK)1.01和JSWDK配套的服务端工具,来建立的JSP页面。使用Nokia WAP Toolkit 1.2测试和浏览应用。
    一个典型的路径还包括在移动电话和WAP内容服务之间的一个WAP网关。这样安排的主要原因是要对WML进行编码,这样来适应其窄带的特点。但是Nokia WAP Toolkit包含了这样一个编译器,因此它可以直接从HTTP服务器提取WML内容(在例子里是从服务端工具上来取的)。
    当建立WAP应用的时候,必须记住一点。WAP设备的显示屏幕很小——典型的只有4行12个字符,不要使用过多的滚动。这样会使用户十分烦心。数据的输入功能也十分有限。而且设备的RAM有限,CPU的能力有限。并且现在无线网络的带宽有限而且高延时。因此WAP的应用程序应当短小,简单。
    应用程序包括两个页面。第一个是“pick_appointment.jsp”。它有一个选择卡片。当用户选择了其中的一个约会时间的时候,就会进入到“show_appointment_data.jsp”页面(中间还传递了约会的ID号)。第二个页面有两个卡片。第一个显示会面的时间,第二个显示数据输入,允许工程师通过输入ID取消约会。
    动态的约会数据是通过JavaBean的实例来取得的。在这里没有它的代码,总的来说是通过JDBC连接到数据库的过程。取消的过程是通过Servlet来操作的,在这里其程序也没有显示。既然用户可能随时取消某个约会,因此需要定时地刷新“pick_appointment.jsp”。
pick_appointment.jsp

<%@ page language="java" contentType="text/vnd.wap.wml" %>
<jsp:useBean id="appointmentBean" class="mwebber.samples.AppointmentBean" scope="application" />
<%!
   // This convenience method builds our <option> elements, one for each appointment.
    private String getOptions(mwebber.samples.AppointmentBean appointmentBean)
    {
        StringBuffer sb = new StringBuffer();
        int[] appointmentIDs = appointmentBean.getAppointmentIDs();
        for(int i=0; i<appointmentIDs.length; i++)
        {
            sb.append("<option onpick="show_appointment_data.jsp?id=");
            sb.append(i);
            sb.append("">");
            sb.append(appointmentBean.getAppointmentTime(i));
            sb.append("</option>");
        }
        return sb.toString();
    }
%>
<%! String strXMLPrologue = "<?xml version="1.0"?>"; %>
<%-- WML CONTENT BEGINS --%>
<%= strXMLPrologue %>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>
<card id="pick" title="Appointments">
    <!-- Refresh the deck every minute -->
    <onevent type="ontimer">
        <go href="pick_appointment.jsp"/>
    </onevent>
    <timer value="600"/>

    <!-- Display a widget to navigate back by one in the history stack -->
    <do type="prev">
        <prev/>
    </do>
    <!-- Display the "select" widget of appointments to pick -->
    <p>
        <select title="Appointments">
        <%= getOptions(appointmentBean) %>
        </select>
    </p>
</card>
</wml>
<%-- WML CONTENT ENDS --%>
show_appointment_data.jsp

<%@ page language="java" contentType="text/vnd.wap.wml" %>
<jsp:useBean id="appointmentBean" class="mwebber.samples.AppointmentBean" scope="application" />
<%
    // Grab the "id" parameter, using the in-built reference to the request object.
    int intAppointmentID = Integer.parseInt(request.getParameter("id"));
%>
<%! String strXMLPrologue = "<?xml version="1.0"?>"; %>
<%-- WML CONTENT BEGINS --%>
<%= strXMLPrologue %>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>
<card id="main_data" title="Main Data">
    <p align="center">
        <b>
            <%= appointmentBean.getAppointmentTime(intAppointmentID) %>
        </b>
    </p>
    <p>
        <br/>
            <%= appointmentBean.getAppointmentDetails(intAppointmentID) %>
        <br/>
        <a href="#check_off">Check off this appointment</a><br/>
        <a href="http://localhost:8080/pick_appointment.jsp">Back to appointments list</a>
    </p>
</card>

<card id="check_off" title="Check Off">
    <!-- Set up a widget to send the input field data to the server -->
    <do type="accept">
        <go href="/servlet/ProcessCheckOff" method="post">
            <postfield name="check_off_code" value=" $check_off_code"/>
        </go>
    </do>
    <p>
        <input name="check_off_code" emptyok="false" maxlength="6"/>
    </p>
    <p>
        <a href="#main_data">Back to appointment data</a>
        <br/>
        <a href="http://localhost:8080/pick_appointment.jsp">Back to appointments list</a>
    </p>
</card>
</wml>
<%-- WML CONTENT ENDS --%>
    在每一文件的开头,都要设置正确的MIME文件类型。如果文件类型不对,那么这个页面将遭到模拟器的拒绝。在这个例子里,“text/vnd.wap.wml”表明是WML页面。其他类型例如“text/vnd.wap.wmlscript”是WMLScript源代码,而“image/vnd.wap.wbmp” 是WBMP文件。
    既然WML页面是一个XML文档,因此它包含了标准的XML文件头和一个DTD头,但是“<?”和“?>”标记显然与JSP的标记有混合。因此将这一段隐藏到字符串变量当中。别忘记JSP将被编译成Java源文件,最后成为Servlet。


<< 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 >>
转载请注明出处-中国设计秀-cnwebshow.com



投稿 】【对本文进行评论】 【字体: 】【发布于2006-12-23 11:47】

相关专题:暂无相关专题

上一篇:WAP技术的简单释义   下一篇:WAP手机常识
 认证LOGO下载
     
Copyright © 2005-2007 中国设计秀_网页设计教程_优秀网页设计欣赏_平面设计欣赏 All Right Reserved.
做最专业的设计服务网站,秀出自我,秀出精彩!中国设计秀,秀---无处不在!!
QQ:54292427  8208442 MSN:kingvisual#hotmail.com 交流群:9107036 3848215 8850631
粤ICP备05067046号 RSS