He creado webapp usando Spring MVC y he hecho las operaciones CRUD y ahora se ha pegado a la página de búsqueda.

Ya he codificado a continuación jsp y el controlador.

Cuerpo de página JSP

<div align="center">
        <h1>Search Items</h1>


        <form action="search_1" method="get" modelAttribute="search">
        <table>
        <tr>
            <td>Category:</td>
            <td>
          <select  type="text" name="category_id">
            <option value="Book">Book</option>
            <option value="Audio Books">Audio Books</option>
            <option value="Videos">Videos</option>
            <option value="Music">Music</option>
          </select>
             </td>
        </tr>

        <tr>
            <td>Publisher ID:</td>
            <td>
          <select  type="text" name="publisher_id">
            <option value="Harper Collins">Harper Collins</option>
            <option value="Penguins">Penguins</option>
            <option value="Franciscan Media">Franciscan Media</option>
            <option value="Orbis">Orbis</option>
          </select>
             </td>
        </tr>

        <tr>
            <td>Price Range:</td>
            <td>Min: <input type="text" name="price_1"/> Max: 
            <input type="text" name="price_2"/></td>
        </tr>


        <tr>
                <td colspan="2" align="center"><input type="submit" value="search"></td>
            </tr>

        </table>


        </form>


    </div>

Controlador

 @RequestMapping(value ="/search_1",method = RequestMethod.GET)
    public ModelAndView search_1(HttpServletRequest request, HttpServletResponse response) {

        String category_id = request.getParameter("category_id");
        String publisher_id = request.getParameter("publisher_id");
        int price = Integer.parseInt(request.getParameter("price"));



        ModelAndView model = new ModelAndView();
        model.setViewName("searchResult");


        return model;
    }

Artículos de bean

package com.jwt.model;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "items")
public class Items implements Serializable {

    private static final long serialVersionUID = -3465813074586302847L;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int id;

    @Column
    private String ISBN;

    @Column
    private String title;

    @Column
    private String category_id;

    @Column
    private String Author;


    @Column
    private String publisher_id;

    @Column
    private float price;

    @Column
    private int stock;

    @Column
    private int photo_id;



    public int getid() {
        return id;
    }

    public void setid(int id) {
        this.id = id;

    }

    public String getISBN() {
        return ISBN;
    }

    public void setISBN(String ISBN) {
        this.ISBN = ISBN;
    }

    public String gettitle() {
        return title;
    }

    public void settitle(String title) {
        this.title = title;
    }

    public String getcategory_id() {
        return category_id;
    }

    public void setcategory_id( String category_id) {
        this.category_id = category_id;
    }

    public String getAuthor() {
        return Author;
    }

    public void setAuthor(String Author) {
        this.Author = Author;
    }

  public String getpublisher_id() {
        return publisher_id;
    }

    public void setpublisher_id(String publisher_id) {
        this.publisher_id = publisher_id;
    }


     public float getprice() {
        return price;
    }

    public void setprice(float price) {
        this.price = price;
    }

     public int getstock() {
        return stock;
    }

    public void setstock(int stock) {
        this.stock = stock;
    }


     public int getphoto_id() {
        return photo_id;
    }

    public void setphoto_id(int photo_id) {
        this.photo_id = photo_id;
    }
}

La búsqueda debe realizarse según los criterios de búsqueda en la página JSP. La vista de resultados puede estar en la misma página. Realmente no importa,

0
Nalaka Sapumal 4 nov. 2019 a las 11:45

1 respuesta

No estoy seguro de por qué estás confundido, pero veamos si puedo ayudarte.

En su controlador, debe extraer todos los criterios correctamente y luego recuperar la lista de elementos que utilizan estos criterios de su base de datos. Cree un método en una clase de servicio que tome estos criterios como parámetro y devuelva una lista de elementos. Adjunto ese elemento en el modelo y mostrar en la página "searchResult.jsp".

Aquí hay un método de controlador aproximado que debe manejar su búsqueda

    @RequestMapping(value = "/search_1", method = RequestMethod.GET)
    public ModelAndView search(HttpServletRequest request) {

        String categoryId = request.getParameter("category_id");
        String publisherId = request.getParameter("publisher_id");
        int minPrice = Integer.parseInt(request.getParameter("price_1"));
        int maxPrice = Integer.parseInt(request.getParameter("price_2"));

        List<Item> items = someService.getItems(categoryId, publisherId, minPrice, maxPrice);

        ModelAndView model = new ModelAndView();
        model.addObject("items", items);
        model.setViewName("searchResult");

        return model;
    }
1
saifulislamplabon 4 nov. 2019 a las 20:43
58689800