利用JSP开发wml手机网页的几个例子

11.6  JSP技术在WAP开发中的应用



使用JSP(Java Server API)技术可以简单而快速地在WAP终端上生成动态的WAP页面,而且能够利用JSP的诸多功能,实现复杂的WAP应用。我们仍以WML为例,讲解JSP技术在WAP开发中的应用。

11.6.1  基本规则
使用JSP技术前,首先要建立它的开发环境。一般是在Windows NT上安装并建立Java Server Web Development Kit(JSWDK),其版本可为1.01版或更高的版本。

为了测试和浏览JSP实现的WAP应用,还需要安装WAP模拟器(浏览器),如Nokia WAP Toolkit,并安装Java Runtime Environment (JRE) 1.2.2或以上版本。

完成以上准备工作之后,就可以按照以下的基本规则使用JSP编写WML程序了。

(1) WML的标签和语句均可直接写在JSP程序中。

(2) 如果想使用JSP来处理WML的标签和语句,则需要使用“<%”和“%>”引起来,格式为:

<%

……(JSP编写的WML语句行);

%>

例如,以下几行语句就是利用JSP的out.println来输出WML的标签和语句:

<%

         out.println("<p>");

                   out.println("Hello from script code!<br/>");

         out.println("</p>");

%>


(3) JSP编写的WML语句要用引号(" ")引起来,然后再用括号括起来,而且后面还要加上分号( ; ),格式为:

JSP对象.方法/关键字(" ……WML标签或语句行 ");

例如,下面就是反映JSP书写WML语句格式的例子:

out.println("Hello from script code!<br/>");

(4) WML的文件类型可以使用JSP的response对象进行声明,也可以在声明页面语言时一块儿声明,它们的格式分别如下:

<% response.setContentType("text/vnd.wap.wml"); %>

或 <%@ page language="java" contentType="text/vnd.wap.wml" %>

(5) 最后的程序文件保存时要采用“.jsp”的扩展名,即保存为JSP的程序文件。JSP将被编译成Java源文件,最后成为servlet。

例子

<%@page contentType="text/vnd.wap.wml" import="java.util.*" %>
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
      "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
    <card id="Example" title="Example JSP/WML">
        <p align="center">Data current as of <%= new Date() %></p>
        <p>
            <a title="Data1" href="#data1">More Details</a>
        </p>
    </card>

    <card id="data1" title="DataOne">
    <p>This is the card called DataOne</p>
    </card>
</wml>


例子

<?xml version="1.0" ?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
      "http://www.wapforum.org/DTD/wml_1.1.xml">

<%--greeting.jsp--%>
<% response.setContentType ("text/vnd.wap.wml"); %>
<wml>
   <card id="start" title="Hello">
      <p>
         What is your name?
         <input name="Name" type="text" />
         <do type="accept">
            <go href="#next" />
         </do>
      </p>
   </card>

   <card id="next" title="Hello">
      <p>
         <%
            for (int i=0; i<2; i++)
               out.println ("Good-day, $(Name)! <br />");
         %>
      </p>
   </card>
</wml>

例子(jsp使用数据库,wml显示)

<?xml version="1.0" ?>

<%@ page language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql_rt" %>


<!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>

<sql:setDataSource var="datasource"
                 driver="com.mysql.jdbc.Driver"
                    url="jdbc:mysql://localhost:3306/test"
                   user="root" password="12345"/>

<sql:query var="items" dataSource="${datasource}">
  SELECT id, name, city FROM employee
</sql:query>
<card id="start" title="Hello">
   
    <table border="1">
      <th>name</th><th>city</th>
      <c:forEach var="row" items="${items.rows}">
        <tr>
          <td><c:out value="${row.name}"/></td>
          <td><c:out value="${row.city}"/></td>
        </tr>
      </c:forEach>
    </table>
</card>
   
</wml>

简单的数据表test employee
      name      city
       tom       harbin
      jerry       changchun
      cat         shenyang
      rat          tieling



你可能感兴趣的:(java,xml,jsp,SQL Server,WAP)