controller与jsp传值

在springmvc中的controller所对应的函数中,如果需要从*.jsp页面中获取数据,可以自行在函数括号中写,springmvc会自动封装传过来的。

spring-mvc.xml

中加入

1   <!-- 自动扫描 --><context:component-scan base-package="cn.itcast.springmvc.service,cn.itcast.springmvc.web.controller"/>
3  <!-- 注解驱动 --><mvc:annotation-driven/>

Controller.java   两种形式都可以,但是第二种,jsp页面中的参数是personList1

//列表
    @RequestMapping("/listAll")
    public String listAll(Map<String,Object> model){
        List<Person> personList = ps.listAll();
        model.put("personList", personList);
        
        System.out.println(" listall hello");
        
        return "person/jPersonList";
    }
    
    //列表
    @RequestMapping("/listAllOther")
    public String listAllOther(Model model){
        List<Person> personList1 = ps.listAll();
        model.addAttribute(personList1);
        
        System.out.println(" listallother1 hello");
        
        return "person/jPersonList";
    }

jsp页面中

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
  <head>
    <title>My JSP 'index.jsp' starting page</title>
  </head>
  
  <body>
<h2>用户列表</h2>
    
        <div style="padding:10px;"><a href="${pageContext.request.contextPath}/person/tocreate.action">新增</a></div>
    
<table border="1">
<tr>
    <td>photo</td>
    <td>id</td>
    <td>name</td>
    <td>age</td>
    <td>操作</td>
</tr>

<c:forEach items="${personList}" var="p">
<tr>
    <td><img src="${pageContext.request.contextPath}"/></td>
    <td>${p.id}</td>
    <td>${p.name}</td>
    <td>${p.age}</td>
    <td>
        <a href="${pageContext.request.contextPath}/person/toupdate.action?id=${p.id}">修改</a>
        <a href="${pageContext.request.contextPath}/person/delete.action?delId=${p.id}">删除</a>
    </td>
</tr>
</c:forEach>

</table>
  </body>
</html>

El表达式的写法:${pageContext.request.contextPath}

jsp的写法:<%=request.getContextPath()%>

猜你喜欢

转载自blog.csdn.net/wang_666_/article/details/79472460
今日推荐