Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.model;
- public class Product {
- private String productCode;
- public String getProductName() {
- return productName;
- }
- public void setProductName(String productName) {
- this.productName = productName;
- }
- public String getProductCode() {
- return productCode;
- }
- public void setProductCode(String productCode) {
- this.productCode = productCode;
- }
- private String productName;
- }
- package com.servlet;
- import java.io.IOException;
- import java.util.HashMap;
- 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.dao.ProductDao;
- import com.google.gson.Gson;
- import com.google.gson.GsonBuilder;
- import com.model.Product;
- import com.model.ProductLine;
- @WebServlet("/ProductController")
- public class ProductController extends HttpServlet {
- private static final long serialVersionUID = 1L;
- private HashMap<String, Object> JSONROOT = new HashMap<String, Object>();
- ProductDao dao;
- public ProductController() {
- super();
- dao=new ProductDao();
- }
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- response.getWriter().append("Served at: ").append(request.getContextPath());
- }
- protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- String action = request.getParameter("action");
- Gson gson = new GsonBuilder().setPrettyPrinting().create();
- response.setContentType("application/json");
- if (action != null) {
- try {
- if (action.equals("getProductLines")) {
- List<ProductLine> productlines=dao.getProductLines();
- JSONROOT.put("Result", "OK");
- JSONROOT.put("Records", productlines);
- String jsonArray = gson.toJson(JSONROOT);
- response.getWriter().print(jsonArray);
- }
- else if (action.equals("getProducts")) {
- List<Product> products=dao.getProducts(request.getParameter("productLine"));
- JSONROOT.put("Result", "OK");
- JSONROOT.put("Records", products);
- String jsonArray = gson.toJson(JSONROOT);
- response.getWriter().print(jsonArray);
- }
- }
- catch (Exception ex) {
- JSONROOT.put("Result", "ERROR");
- JSONROOT.put("Message", ex.getMessage());
- String error = gson.toJson(JSONROOT);
- response.getWriter().print(error);
- }
- }
- }
- }
- public List<Product> getProducts(String productLine) {
- List<Product> products = new ArrayList<Product>();
- String query = "SELECT productCode,productName from products where productLine=?";
- try {
- pStmt = dbConnection.prepareStatement(query);
- pStmt.setString(1, productLine);
- ResultSet rs = pStmt.executeQuery();
- while (rs.next()) {
- Product p=new Product();
- p.setProductCode(rs.getString("productCode"));
- p.setProductName(rs.getString("productName"));
- products.add(p);
- }
- } catch (SQLException e) {
- System.err.println(e.getMessage());
- return null;
- }
- return products;
- }
- <link href="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
- <script src="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js"></script>
- <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
- <!------ Include the above in your HEAD tag ---------->
- <!doctype html>
- <html lang="en">
- <head>
- <!-- Required meta tags -->
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <!-- Fonts -->
- <link rel="dns-prefetch" href="https://fonts.gstatic.com">
- <link href="https://fonts.googleapis.com/css?family=Raleway:300,400,600" rel="stylesheet" type="text/css">
- <link rel="icon" href="Favicon.png">
- <!-- Bootstrap CSS -->
- <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
- <link rel="stylesheet" type="text/css" href="mystyle.css">
- <title>Laravel</title>
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
- <script>
- $(document).ready(function() {
- $.ajax({
- url : "ProductController?action=getProductLines",
- type : "post",
- success : function(data) {
- //alert(data.Records);
- $.each(data.Records,function(idx,obj){
- $("#cmbProductLines").append(new Option(obj.productLine,obj.productLine));
- })
- },
- error : function(xhr, status, error) {
- alert(error)
- }
- });
- $("#cmbProductLines").change(function(){
- $("#cmbProducts option[value]").remove();
- var productLine=$("#cmbProductLines").val();
- $.ajax({
- url : "ProductController?action=getProducts&productLine="+productLine,
- type : "post",
- success : function(data) {
- //alert(data.Records);
- $.each(data.Records,function(idx,obj){
- $("#cmbProducts").append(new Option(obj.productName,obj.productCode));
- })
- },
- error : function(xhr, status, error) {
- alert(error)
- }
- });
- });
- });
- </script>
- </head>
- <body>
- <nav class="navbar navbar-expand-lg navbar-light navbar-laravel">
- <div class="container">
- <a class="navbar-brand" href="#">Laravel</a>
- <button class="navbar-toggler" type="button" data-toggle="collapse"
- data-target="#navbarSupportedContent"
- aria-controls="navbarSupportedContent" aria-expanded="false"
- aria-label="Toggle navigation">
- <span class="navbar-toggler-icon"></span>
- </button>
- <div class="collapse navbar-collapse" id="navbarSupportedContent">
- <ul class="navbar-nav ml-auto">
- <li class="nav-item"><a class="nav-link" href="#">Login</a></li>
- <li class="nav-item"><a class="nav-link" href="#">Register</a>
- </li>
- </ul>
- </div>
- </div>
- </nav>
- <main class="login-form">
- <div class="container">
- <div class="row justify-content-center">
- <div class="col-md-8">
- <div class="card1">
- <div class="card1-header">Register</div>
- <div class="card1-body">
- <select id="cmbProductLines"></select>
- <select id="cmbProducts"></select>
- </div>
- </div>
- </div>
- </div>
- </div>
- </main>
- </body>
- </html>
Add Comment
Please, Sign In to add comment