JavaWeb之实现商品列表展示

商城网页商品数据通常存于数据库,在servlet中操作。因未学数据库操作,先在servlet模拟数据显示在jsp页面。步骤包括创建对象、模拟信息、添加到列表、存于域对象、请求转发到JSP,最后用EL表达式和JSTL标签处理。

商城网页上的商品数据基本都放在数据库,都是在servlet中对数据库信息进行操作的。我还没有学到对数据库的操作,就暂时在servlet中模拟几条数据,继而显示在jsp页面中。

1、创建一个Phone的对象

public class Phone {
    //id,名称,图片,价格
    private int id;
    private String name;
    private String image;
    private String price;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getImage() {
        return image;
    }

    public void setImage(String image) {
        this.image = image;
    }

    public String getPrice() {
        return price;
    }

    public void setPrice(String price) {
        this.price = price;
    }
}

2、模拟3条手机产品信息

Phone phone = new Phone();
phone.setId(001);
phone.setImage("https://img11.360buyimg.com/n4/jfs/t10675/253/1344769770/66891/92d54ca4/59df2e7fN86c99a27.jpg!q95.jpg");
phone.setName("iphone6");
phone.setPrice("4000");

3、添加到List中

List<Phone> phoneList = new ArrayList<>();
phoneList.add(phone);
phoneList.add(phone1);
phoneList.add(phone2);

4、将List对象存放到域对象中

request.setAttribute("list",phoneList);

5、请求转发到JSP页面中

request.getRequestDispatcher("/phone_list.jsp").forward(request,response);

6、在JSP页面中接受值

使用EL表达式(获取值)和JSTL标签(forEach循环)

<c:forEach items="${list}" var="phone">
    <div class="col-md-2">
        <img src="${phone.image}">
        <p>
            <a href="product_info.html" style="color: green">${phone.name}</a>
        </p>
        <p>
            <font color="#ff0000">商城价:&yen;${phone.price}</font>
        </p>
    </div>
</c:forEach>

END:效果图
这里写图片描述

要添加商品信息,您需要完成以下步骤: 1. 创建一个商品信息表,包括商品编号、商品名称、商品描述、商品价格等字段。 2. 编写一个商品信息表的数据访问对象(DAO)类,实现商品信息的增删改查操作。 3. 编写一个商品信息的服务类,调用商品信息的DAO类,实现商品信息的业务逻辑。 4. 编写一个商品信息的控制器类,调用商品信息的服务类,实现商品信息的表现逻辑,例如显示商品列表、添加商品、修改商品、删除商品等操作。 5. 在前端页面中编写相应的表单和JavaScript代码实现添加商品信息的交互操作。 以下是一个简单的添加商品信息的示例代码商品信息表(product)字段: | 字段名 | 数据类型 | 描述 | | --------- | -------- | ------ | | product_id | int | 商品编号 | | name | varchar | 商品名称 | | description | varchar | 商品描述 | | price | decimal | 商品价格 | ProductDAO.java: ```java public class ProductDAO { // 添加商品信息 public void add(Product product) throws SQLException { // 连接数据库 Connection conn = DBUtil.getConnection(); // 执行SQL语句 String sql = "INSERT INTO product (product_id, name, description, price) VALUES (?, ?, ?, ?)"; PreparedStatement ps = conn.prepareStatement(sql); ps.setInt(1, product.getProductId()); ps.setString(2, product.getName()); ps.setString(3, product.getDescription()); ps.setBigDecimal(4, product.getPrice()); ps.executeUpdate(); // 关闭连接 ps.close(); conn.close(); } } ``` ProductService.java: ```java public class ProductService { private ProductDAO productDAO = new ProductDAO(); // 添加商品信息 public void add(Product product) throws SQLException { productDAO.add(product); } } ``` ProductController.java: ```java public class ProductController { private ProductService productService = new ProductService(); // 添加商品信息 public void addProduct(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 获取表单数据 int productId = Integer.parseInt(request.getParameter("productId")); String name = request.getParameter("name"); String description = request.getParameter("description"); BigDecimal price = new BigDecimal(request.getParameter("price")); // 创建商品对象 Product product = new Product(productId, name, description, price); // 调用服务类添加商品信息 productService.add(product); // 跳转到商品列表页面 response.sendRedirect("productList.jsp"); } } ``` addProduct.jsp: ```html <html> <head> <title>添加商品信息</title> </head> <body> <form action="ProductController" method="post"> <label>商品编号:</label> <input type="text" name="productId"><br> <label>商品名称:</label> <input type="text" name="name"><br> <label>商品描述:</label> <input type="text" name="description"><br> <label>商品价格:</label> <input type="text" name="price"><br> <button type="submit">添加商品</button> </form> </body> </html> ``` 在以上示例中,我们创建了一个商品信息表,包括商品编号、商品名称、商品描述、商品价格等字段。然后编写了一个商品信息的DAO类,实现商品信息的增加操作。接着编写了一个商品信息的服务类,调用商品信息的DAO类,实现商品信息的业务逻辑。最后编写了一个商品信息的控制器类,调用商品信息的服务类,实现商品信息的表现逻辑。最后在前端页面中编写了相应的表单和JavaScript代码,完成了添加商品信息的交互操作。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值