JavaEE项目中改变表格结构jsp+taglib

JavaEE项目中改变表格结构jsp+taglib

    • 问题描述
    • 问题解决
    • 界面展示
      • 第一次选购
      • 第二次选购
    • 完整代码

问题描述

在写web项目时,需要将数据动态展示出来,就需要表格标签的动态添加,在不用到JavaScript的情况下,如何使标签动态添加呢,可以使用jsp技术中的<%@ taglib %>,JSTL所支持的迭代标签

问题解决

1、在官网下载两个关键的包(放在哪里都可以)(https://tomcat.apache.org/taglibs/standard/)
JavaEE项目中改变表格结构jsp+taglib_第1张图片
JavaEE项目中改变表格结构jsp+taglib_第2张图片2、将包导入到项目中,我这里以IDEA为例:把这两个包复制粘贴到web项目目录下如图所示处
JavaEE项目中改变表格结构jsp+taglib_第3张图片
复制粘贴后,右键选择导入到库,如图所示
JavaEE项目中改变表格结构jsp+taglib_第4张图片
3、将如下代码放到.jsp代码的顶部(完整代码放最下面),如图所示
JavaEE项目中改变表格结构jsp+taglib_第5张图片
4、将迭代标签写入需要迭代的表格标签"< tr>"之前,如图所示,具体的用法可以去看标签的语法定义用法(https://blog.csdn.net/xd15010130025/article/details/89476815),这里不再过多阐述

界面展示

第一次选购

第二次选购

完整代码

<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>



<%
    String name = "";
    List lis = new ArrayList();  // 用来迭代的对象
    float price = 0;
    float sum = 0;
    int num = 0;
    boolean flag = false;  // 判断是否选购商品
    String[] nums = request.getParameterValues("buy");

    for (int i = 0; i < nums.length; i++) {
        if (!nums[i].equals("0")) {
            Goods.Select(i);  // 注意数据库中id要从0开始!!
            name = Goods.GetName();
            num = Integer.parseInt(nums[i]);
            price = Float.parseFloat(Goods.GetPrice());
            sum += num * price;
            flag = true;
            String[] liss = {name, Integer.toString(num), Float.toString(price), Float.toString(num*price)};
            lis.add(liss);
        }
    }
    request.setAttribute("lis", lis);  // !!!!!很关键!!!调试了很久发现是忘记加这一步!!
    if (flag == false) {
        out.println("");
        response.setHeader("refresh", "1;URL=shopping.jsp");
    }
%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
    <title>购物</title>
</head>

<body>
    <table>
        <thead>
            <tr>
                <th>商品名</th>
                <th>数量</th>
                <th>单价</th>
                <th>总价</th>
            </tr>
        </thead>
        <tbody>
    <c:forEach items="${lis}" var="li">
        <tr>
            <td>${li[0]}</td>
            <td>${li[1]}</td>
            <td>${li[2]}</td>
            <td>${li[3]}</td>
        </tr>
    </c:forEach>
        <tr>
            <td></td>
            <td></td>
            <td></td>
            <td><%=sum%></td>
        </tr>
        </tbody>
    </table>
    <br>
    <botton><a href="shopping.jsp">重新选购</a></botton>
    <br>
    <botton><a href="LoginSuccess.jsp">返回系统首页</a></botton>
</body>

</html>

你可能感兴趣的:(JavaEE技术问题,java,java-ee,servlet)