您所在的位置: 首页>>读书频道>>设计开发>>.Net系列>>

6.2.3 服务器端代码说明

http://book.51cto.com  2008-05-07 23:57  李刚 宋伟 邱哲  人民邮电出版社  我要评论(0)
  • 摘要:《征服Ajax+Lucene构建搜索引擎》特点在于“理论结合实践”,既简明扼要地讲解了理论知识,又提供了丰富的示例程序,力求使读者在掌握了理论知识的同时能够通过阅读示例代码加深理解。本文是级联下拉框服务器端代码说明。
  • 标签:Ajax  .Net

6.2.3  服务器端代码说明

SelectServlet类的实例接收到请求后,首先设置相应的字符编码和头部信息。然后定义String变量targetId来获得参数名为id的参数值,也就是第一个下拉框选项的value值。对targetId进行判断,对应于targetId可能等于的0、1、2、3这4个值分别进行不同的处理,然后将字符串xml重新加上根标记<selects>,最后将字符串xml返回。代码如代码6.6所示。

代码6.6  SelectServlet类的定义

package cn.edu.bit.servlet;
import javax.servlet.ServletConfig;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class SelectServlet extends HttpServlet {

      public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/xml");//设置字符编码和头部信息
        response.setHeader("Cache-Control", "no-cache");      
        String targetId = request.getParameter("id").toString(); 
        //获得请求中参数为id的值
        String xml_start = "<selects>";
    String xml_end = "</selects>";
    String xml = "";
if(targetId.equalsIgnoreCase("0"))  
//根据参数值来进行判断,如果是0则返回下面的字符串
        {
         xml = "<select><value>0</value><text>Unbounded</text></select>";    //下拉框中没有内容   
        }
        else if(targetId.equalsIgnoreCase("1"))//如果是1,则返回下面的字符串
        {
         xml = "<select><value>1</value><text>Mana Burn</text></select>";
         xml += "<select><value>2</value><text>Death Coil</text></select>";
         xml += "<select><value>3</value><text>Unholy Aura</text></select>";
         xml += "<select><value>4</value><text>Unholy Fire</text></select>";
        }
        else if(targetId.equalsIgnoreCase("2"))//如果是2,则返回下面的字符串
        {
         xml = "<select><value>1</value><text>Corpexplode</text></select>";
         xml += "<select><value>2</value><text>Raise Dead</text></select>";
         xml += "<select><value>3</value><text>Brilliance Aura</text></select>";
         xml += "<select><value>4</value><text>Aim Aura</text></select>";
        }
        else  //如果是3,则返回下面的字符串
        {
         xml = "<select><value>1</value><text>Rain of Chaos</text></select>";
         xml += "<select><value>2</value><text>Finger of Death</text></select>";
         xml += "<select><value>3</value><text>Bash</text></select>";
         xml += "<select><value>4</value><text>Summon Doom</text></select>";
        }
       
        String last_xml = xml_start + xml + xml_end;   
//设置要返回的字符串  
        response.getWriter().write(last_xml);  //返回对应的字符串

      } 

    public void doPost(HttpServletRequest request,HttpServletResponse response)
   throws IOException,ServletException
   {
  doGet(request,response); //对于post的请求方式和get请求方式一样处理
   }
 }

程序运行结果如图6-6和图6-7所示。

图6-6  使用Ajax实现级联下拉框(1)

图6-7 使用Ajax实现级联下拉框(2)

回书目   上一节   下一节
专题:ASP.NET 2.0基础开发指南
.NET移动与嵌入式技术专题
.NET Framework新手入门专题
VS.NET实用开发专题
ADO.NET实用技巧专题
 
 验证码: (点击刷新验证码)   匿名发表
  • Visual C++ 完全自学宝典

  • 作者:强锋科技,朱洪波
  • Visual C++ 6.0是微软公司为程序人员提供的Visual Studio 6.0工具套件中的重要组成部分。本书由浅入深地介绍使用Visual C++ 6.0..
Copyright©2005-2008 51CTO.COM 版权所有