Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring JSP不呈现列表数据_Spring_Jsp_Model View Controller_Controller_Empty List - Fatal编程技术网

Spring JSP不呈现列表数据

Spring JSP不呈现列表数据,spring,jsp,model-view-controller,controller,empty-list,Spring,Jsp,Model View Controller,Controller,Empty List,我有一个简单的SpringMVC应用程序正在运行。我可以将一个字符串值从控制器传递给jsp—工作正常 当要求控制器传递列表数据时,它无法在jsp视图中呈现。我已经在控制器端测试了数据,以确保在传递到jsp之前数据不是空的 代码摘录如下 @RequestMapping(method = RequestMethod.GET) public ModelAndView printWelcome(){ ArrayList<String> listData = new Array

我有一个简单的SpringMVC应用程序正在运行。我可以将一个字符串值从控制器传递给jsp—工作正常

当要求控制器传递列表数据时,它无法在jsp视图中呈现。我已经在控制器端测试了数据,以确保在传递到jsp之前数据不是空的

代码摘录如下

@RequestMapping(method = RequestMethod.GET)
public ModelAndView printWelcome(){   

    ArrayList<String> listData = new ArrayList<String>();
    listData.add("Hello");
    listData.add("World");


    for(int i =0; i< listData.size(); i++){
        System.out.println(listData.get(i));
    }

    ModelAndView modelAndView = new ModelAndView("list");
    modelAndView.addObject("lists", listData);

    return modelAndView;                
}



<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
</head>
<body>
    <h1>Hello World!</h1>


    <ul>
        <c:forEach var="listValue" items="${listData}">
            <li>${listValue}</li>
        </c:forEach>
    </ul>


</body>
@RequestMapping(method=RequestMethod.GET)
公共模型和视图printWelcome(){
ArrayList listData=新的ArrayList();
添加(“你好”);
添加(“世界”);
对于(int i=0;i
  • ${listValue}
  • 编辑:

    问题是我的spring配置(我想——因为我还不熟悉这个)

    控制器正在返回ModelAndView对象,而实际上它应该只返回字符串视图名称。此外,工作控制器还有一个带有参数arg ModelView的构造函数,其中需要附加列表数据`

        @RequestMapping(method = RequestMethod.GET)
    public String printWelcome(ModelMap map){
    
        List<String> listData = new ArrayList<String>();
        listData.add("Hello");
        listData.add("World");
    
        map.addAttribute("lists", listData);
        //return list;
        return "list";
    
    }
    
    @RequestMapping(method=RequestMethod.GET)
    公共字符串printWelcome(ModelMap){
    List listData=new ArrayList();
    添加(“你好”);
    添加(“世界”);
    map.addAttribute(“列表”,listData);
    //退货清单;
    返回“列表”;
    }
    
    尝试使用以下方法。您应该使用存储在模型中的密钥。它的行为类似于HashMap

    <ul>
        <c:forEach var="listValue" items="${lists}">
          <li>${listValue}</li>
        </c:forEach>
    </ul>
    
    • ${listValue}

    您必须将此行添加到顶部:

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    
    
    

    然后你可以使用
    Hello minion,这段代码将产生相同的结果,即一个列表项目符号点被渲染,后面没有任何内容!你能告诉我这是什么吗?这段代码将显示相同的结果,这是什么意思?你试过了吗?是的,我试过了。我的意思是,第一个列表项只打印一个点,之后什么都没有。我还更新了jsp,您能告诉我当从控制器传递字符串值时,字符串值在哪里起作用的示例吗。缺少了一些东西,根据提供的信息我无法找到。还发布了servlet配置,您是在使用maven还是什么来构建它?嗨,Minion,我已经设法让它工作了,我回到了工作示例。我已将此添加到原始帖子中。jsp顶部是否有
    ?是的,我已添加此,但仍然没有任何内容。