图7 首页图样 查询页面显示如图8所示。
图8 查询页面 Action作为中央控制器负责执行判断用户输入和查询,以线路查询为例,核心代码如下: 判断用户提交内容: //如果用户按公交车号查询 if (busno != null) try { busnoresult = dealbus.searchbusline(busno) ; httpServletRequest.setAttribute("buslineresult" , busnoresult) ; dealActionForm.setBusno(null); busno=null; result=null; //返回“buslineresult”对应的页面,具体配置在struts-configure里面设置 return (actionMapping.findForward("buslineresult")) ; } catch (Exception e) { //将错误信息放到request中传递到错误页面 httpServletRequest.setAttribute("errorMsg", e.getMessage()); e.printStackTrace() ; return (actionMapping.findForward("error")) ; } WAP端的实现 WAP端采用WML(Wireless Markup Language - 无线标记语言)编写,无限标记语言WML(Wireless Markup Language)是一种基于扩展标记语言XML(Extension Markup Language)的语言,是XML的子集。它可以显示各种文字、图像等数据,是由WAP论坛(http://www.wapforum.org)提出并专为无线设备用户提供交互界面而设计的,目前版本为1.1版。这些无线设备包括移动电话,呼机和个人数字助理PDA(Personal Digital Assistants)等。 WAP模块主要有首页,功能选择页面,线路查询页面,站站查询页面等组成,部分页面显示如下: 功能选择页面,让用户选择使用哪种方式进行查询,如图9所示。 图9 功能选择页面 客户端下载页面,有JAR和JAD可供选择,以兼容支持不同的手机,如图10所示。 图10 客户端下载页面 详细原理以线路查询为例,线路查询提交代码如下: <go href="selectNumber.jsp" method="post"> <postfield name="busno" value="$(busno:n)"/> </go> 其中$(busno:n)为变量的表示方法,:n的意思为变量中没有ESCAPE字符,即不需要进行ESCAPE八进制转码。 服务器端处理代码(selectNumber.jsp)如下: if(busno!=null){ try{ tool.fangwen();//用户查询计数器加1 Dealbus dealbus=new Dealbus(); coll =dealbus.searchbusline(busno);//调用业务处理方法 Iterator itr=coll.iterator() ; //将结果输出到一个String中 while (itr.hasNext()) { result = result+(String) itr.next() ; } 然后将结果显示在用户手机上: <wml> <card id="selectNumber" title="查询结果"> <p align="center"> <%=result%> </p> <p align="left"> <a href="xian
首页 上一页 4 5 6 7 8 9 10 下一页 尾页 7/10/10