ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

级联展示一 ——展示从数据查处的数据

2020-10-31 04:32:12  阅读:187  来源: 互联网

标签:级联 String 展示 resp req xtypeid import 数据 public


  思路:设计数据库(查询时注意两个表的关联)

    实现实体类。

    实现service层(从数据查询数据)

    servlet的具体方法(用于前端的ajax请求,返回json数据)

 具体实现代码:

  

<%@page import="com.service.JsonUtils"%>
<%@page import="User.Alldata"%>
<%@page import="java.util.List"%>
<%@page import="com.service.MessageService"%>
   <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
     <%
     String sql="select * from alldate";
     List<Alldata> meslist=MessageService.getalldate(sql);
     request.setAttribute("meslist", meslist);
     
     
     %>
     <div>
         <select id="yewu">
                     <option value="0" >请选择....... </option>
             <c:forEach items="${meslist}" var="mes">
                     <option value="${mes.typeid}">${mes.yewu}</option>
             </c:forEach>
         </select>
     
     </div>
     <div>
         <select id="xsyewu">
                     
             
         </select>
     
     </div>
     
     
     
     
</body>
  <script type="text/javascript"  src="js/jquery.min.js"></script>
  <script type="text/javascript">
      $(document).ready(function(){
          $("#yewu").change(function () {
            var obj=$("#yewu>option:selected");
            //当改变后选择的是请选择的时候 不执行后面的操作
            if (obj.val()=="0") {
                return;
            }
            
            var xtypeid=obj.val();
            //alert(xtypeid);
            $.post("MessageServlet?method=xsdata",{xtypeid:xtypeid},function(resp){
                //首先清空级联二框中的内容
                $("#xsyewu").empty();
                //将前台响应的数据展示在select中
                $.each(resp,function(i,n){
                    $("#xsyewu").append("<option value='"+n.xsyw+"'>"+n.xsyw+"</option>");
                })
            },"json");
              
              
              
        });
          $("#xsyewu").change(function () {
             var obj=$("#xsyewu>option:selected");
             
             
             alert(obj.val());
         
               
         });
}); </script> </html>

第一级实体类:

  

package User;

public class Alldata {

    private String typeid;
    private String yewu;
    public String getTypeid() {
        return typeid;
    }
    public void setTypeid(String typeid) {
        this.typeid = typeid;
    }
    public String getYewu() {
        return yewu;
    }
    public void setYewu(String yewu) {
        this.yewu = yewu;
    }
    public Alldata() {
        super();
    }
    
    
}

 

第二级实体类:

package User;

public class xsdate {
    
    private    String xtypeid;
    private    String xsyw;
    public String getXtypeid() {
        return xtypeid;
    }
    public void setXtypeid(String xtypeid) {
        this.xtypeid = xtypeid;
    }
    public String getXsyw() {
        return xsyw;
    }
    public void setXsyw(String xsyw) {
        this.xsyw = xsyw;
    }
    public xsdate() {
        super();
    }
    
    
    
}

从数据库查询数据:

//查询级联二层数据具体信息
        private void xsdata(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException, SQLException {
            req.setCharacterEncoding("utf-8");
            resp.setContentType("text/html;charset=utf-8");
            
            String xtypeid=req.getParameter("xtypeid");
//            System.out.println(xtypeid);
            String sql="select * from xsdate where xtypeid='"+xtypeid+"'";
            List<xsdate> meslist=MessageService.getxsdate(sql);
            String list=JsonUtils.toJson(meslist);
            
            //向前台响应ajax数据
            PrintWriter pw=resp.getWriter();
            
            pw.println(list);
            pw.flush();
            pw.close();
            
            


            
        }

servlt响应ajax请求,返回Json数据

package com.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringReader;
import java.sql.SQLException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.service.JsonUtils;
import com.service.MessageService;

import User.Users;
import User.userInfo;
import User.usermess;
import User.xsdate;
import jdk.nashorn.internal.scripts.JS;
import net.sf.json.JSON;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.util.JSONUtils;






@WebServlet("/MessageServlet")
public class MessageServlet extends HttpServlet {

    private static final long serialVersionUID = 1L;

    /**
     * 方法选择
     */
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("utf-8");
        String method = req.getParameter("method");
                 if ("xsdata".equals(method)) {
            try {
                xsdata(req,resp);
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
//        
//        
        
}
    //查询级联二层数据具体信息
        private void xsdata(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException, SQLException {
            req.setCharacterEncoding("utf-8");
            resp.setContentType("text/html;charset=utf-8");
            
            String xtypeid=req.getParameter("xtypeid");
//            System.out.println(xtypeid);
            String sql="select * from xsdate where xtypeid='"+xtypeid+"'";
            List<xsdate> meslist=MessageService.getxsdate(sql);
            String list=JsonUtils.toJson(meslist);
            
            //向前台响应ajax数据
            PrintWriter pw=resp.getWriter();
            
            pw.println(list);
            pw.flush();
            pw.close();
            
            


            
        }
    
    

}
                    

转换数据类型为Json的工具类

package com.service;

import java.text.SimpleDateFormat;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

public class JsonUtils {
       /**
     * 序列化成json
     * */
    public static String toJson(Object obj) {
        // 对象映射器
        ObjectMapper mapper = new ObjectMapper();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd HH:mm:ss");
        mapper.setDateFormat(sdf);
        
        String result = null;
        // 序列化user对象为json字符串
        try {
            result = mapper.writeValueAsString(obj);
        } catch (JsonProcessingException e) {
            e.printStackTrace();
        }
        return result;
    }
}

 

 

    

标签:级联,String,展示,resp,req,xtypeid,import,数据,public
来源: https://www.cnblogs.com/moxihuishou/p/13905050.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有