当前位置: 首页 > 知识库问答 >
问题:

在Spring中,MVC-Model.AddatAttribute中动态数据的使用以及如何将数据放在jsp文件中

庄弘业
2023-03-14
TestData_FileOne.txt
1,100
2,200
3,300
4,400
5,500
1   2   3   4   5
100 200 300 400 500
@Controller
public class TestController {

   @RequestMapping("/testMVC")
   public String testmvc(Model model){
       String dirString = "C:/Users/Me/Documents/Test/";
       Path testFile;
       List<String> testData;

       testFile = Paths.get( dirString + "TestData_FileOne.txt");

       try {    
           testData = Files.readAllLines(testFile, StandardCharsets.UTF_8);
       } catch (IOException e) {
           // TODO Auto-generated catch block
           e.printStackTrace();
           //return "unable to read...";
           return "unable to read...";
       }

       // ====== changes from here based on Aeseir's answer========
       List<String> dataNum = new ArrayList<String>();
       List<String> data = new ArrayList<String>();
       for(int i=0; i<testData.size()-1;i++){
           dataNum.add(testData.get(i).split(",")[0]);
           data.add(testData.get(i).split(",")[1]);
       }
       model.addAttribute("dataNum", dataNum);
       model.addAttribute("data", data);
       // ======= changes until here ==============

       return "testMVC";   
    }
  }

2)testmvc.jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %>  

<table>
<thread>
  <tr>
    <th>Table with dynamic data from model</th>
  </tr>
</thread>
<tbody>
  <c:forEach var="dataNumValue" items="${dataNum}"> [items added but.. Q5]
    <tr>
      <td>
             ${dataNumValue}
      </td>
    </tr>
  </c:forEach>
  <c:forEach var="dataValue" items="${data}"> [items added but.. Q5]
    <tr>
      <td>
             ${dataValue}       --- [Q2']
     </td>
    </tr>
  </c:forEach>
</tbody>
</table>

所以…我知道Q1/Q1'应该匹配,Q2/Q2'也应该匹配。

1)但是,我对model.addAttribute(“”,object)中的对象感到困惑;在Q1,Q2中?addAttribute是模型属性中的正确选择?

<%@taglib uri=“http://java.sun.com/jsp/jstl/core”前缀=“c”%>=>/jsp在中间丢失

这个@taglib更正+代码根据Aeseir的答案改变了上面的内容,一切都很好!

共有1个答案

艾鹭洋
2023-03-14

Q1和Q2

你差点就到了。模型将传递您放入其中的大部分数据。由您的呈现页来决定如何显示它。

您需要将类型更改为数组,因为您希望输出多个字符串

List<String> dataNum = //populate accordingly
List<String> data = // populate accoridngly

model.addAttribute("dataNum", dataNum);
model.addAttribute("data", data);
<c:forEach var="dataNumValue" items="${dataNum}">   
    <tr>
      <td>
             ${dataNumValue}    
      </td>
    </tr>
  </c:forEach>
  <c:forEach var="dataValue" items=${data}>     
    <tr>
      <td>
             ${dataValue}       
     </td>
    </tr>
  </c:forEach>
 类似资料:
  • 问题内容: Mongodb是一个无模式文档数据库,但是在春季数据中,有必要定义实体类和存储库类,如下所示: 实体类: 存储库类: 无论如何,在春季数据mongodb中是否有使用map not class的功能,以便服务器可以接受任何动态JSON数据,然后将其存储在BSON中而无需任何预定义类? 问题答案: 您可能想知道,Spring或Java是否是解决您问题的正确解决方案-为什么不使用更动态的工具

  • 正如您在标题中可能已经看到或可能还没有看到的那样,我试图找出如何在我的库中使用spring数据,以及如何在我的其他项目中使用这个库。(并非所有基于web的应用程序只是为了澄清) 我试着回答这个问题好几天了,也许我只是看起来错了,就Spring而言,我是一个完全的初学者。 它只在启动时显示错误。 在这里找到项目https://gitlab.com/roboflax/Spring-Data-In-Li

  • 我用C#创建了一个基于Tesseract的OCR,但它没有在其他计算机上运行。所以我在想是否可以在OpenCV中使用Tesseract训练数据,或者至少将训练数据转换为XML文件。

  • 所以,数据库(MySQL)中有一个包含姓名和照片(blob)的表。在我的网页应用程序的主页上有一个按钮,点击它后-它必须是另一个页面,包含数据库的所有结果。我使用servlet/jsp/、jdbc和MVC模式,我有带有字段名称和照片(字节[])的实体User,我有返回List的DAO类,我想在结果页面上从数据库中检索每个用户照片和照片附近的他的名字。 如何使用 servlet/jsp 执行此操作?

  • 当我点击这个api时,我得到错误“415:Unsupported Media type”,这意味着不受支持的头。我想将文件从ARC加载到控制器。 我在pom.xml文件中添加了一些maven依赖项。 我的pom文件:

  • 我正在使用Eclipse创建一个Spring MVC web应用程序开发项目。我的目录结构如下所示- SRC ----类 ----Spring ----AppServlet -----servlet-context.xml -----root-context.xml ----视图 -----home.jsp ----web.xml -测试 -servlet-context.xml 请帮助说明为什么