乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      WAP建站入門教程-軟件頻道-wap-天極網(wǎng)

       E網(wǎng)天涯 2009-11-23
      先看一個簡單的例子程序:
      <?xml version="1.0"?>
      <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www./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終端上生成動態(tài)的WML頁面。這里將不再去講每個WML標(biāo)記的作用,而是給出一個簡單的例子。這個例子體現(xiàn)出整個語言的特點(diǎn)。
          這個JSP例子顯示了為一個移動用戶定時更新約會的例子,例如:做一個給家里打電話的應(yīng)用程序。這個應(yīng)用是在Windows NT下使用Java Server Web Development Kit(JSWDK)1.01和JSWDK配套的服務(wù)端工具,來建立的JSP頁面。使用Nokia WAP Toolkit 1.2測試和瀏覽應(yīng)用。
          一個典型的路徑還包括在移動電話和WAP內(nèi)容服務(wù)之間的一個WAP網(wǎng)關(guān)。這樣安排的主要原因是要對WML進(jìn)行編碼,這樣來適應(yīng)其窄帶的特點(diǎn)。但是Nokia WAP Toolkit包含了這樣一個編譯器,因此它可以直接從HTTP服務(wù)器提取WML內(nèi)容(在例子里是從服務(wù)端工具上來取的)。
          當(dāng)建立WAP應(yīng)用的時候,必須記住一點(diǎn)。WAP設(shè)備的顯示屏幕很小——典型的只有4行12個字符,不要使用過多的滾動。這樣會使用戶十分煩心。數(shù)據(jù)的輸入功能也十分有限。而且設(shè)備的RAM有限,CPU的能力有限。并且現(xiàn)在無線網(wǎng)絡(luò)的帶寬有限而且高延時。因此WAP的應(yīng)用程序應(yīng)當(dāng)短小,簡單。
          應(yīng)用程序包括兩個頁面。第一個是“pick_appointment.jsp”。它有一個選擇卡片。當(dāng)用戶選擇了其中的一個約會時間的時候,就會進(jìn)入到“show_appointment_data.jsp”頁面(中間還傳遞了約會的ID號)。第二個頁面有兩個卡片。第一個顯示會面的時間,第二個顯示數(shù)據(jù)輸入,允許工程師通過輸入ID取消約會。
          動態(tài)的約會數(shù)據(jù)是通過JavaBean的實(shí)例來取得的。在這里沒有它的代碼,總的來說是通過JDBC連接到數(shù)據(jù)庫的過程。取消的過程是通過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./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./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 --%>
          在每一文件的開頭,都要設(shè)置正確的MIME文件類型。如果文件類型不對,那么這個頁面將遭到模擬器的拒絕。在這個例子里,“text/vnd.wap.wml”表明是WML頁面。其他類型例如“text/vnd.wap.wmlscript”是WMLScript源代碼,而“image/vnd.wap.wbmp” 是WBMP文件。
          既然WML頁面是一個XML文檔,因此它包含了標(biāo)準(zhǔn)的XML文件頭和一個DTD頭,但是“<?”和“?>”標(biāo)記顯然與JSP的標(biāo)記有混合。因此將這一段隱藏到字符串變量當(dāng)中。別忘記JSP將被編譯成Java源文件,最后成為Servlet。

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多