konosuba
konosuba
采纳率0%
2019-04-10 21:29

spring mvc中controller怎么传递参数到jsp页面中的java代码块

试了一下在返回值是String的方法

request.setAttribute("...", object);

没用
再试了下void方法使用request, response

request.setAttribute(("...", object);
request.getRequestDispatcher("...").forward(request, response);

也没用

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • wojiushiwo945you 毕小宝 2年前

    你是设置在request中的,试试放在Session中用Session的getAttribute来获取看看。
    或者使用全局静态变量存储,jsp页面再使用。

    点赞 1 评论 复制链接分享
  • JKL852qaz 林兴洋 2年前

    我这样是可以的

    @Controller
    @RequestMapping(value="bookModule")
    public class BookModuleController {
        @RequestMapping(value="/viewBooklist")
        public String viewBooklist(Integer id, HttpServletRequest request) {
            request.setAttribute("id", id);
            return "/viewBooklist";
        }
    }
    

    另外也可以用ModelAndView

    -----------------------------分割线

    controller

    package net.linxingyang.controller;
    
    import javax.servlet.http.HttpServletRequest;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    @Controller
    @RequestMapping(value="test")
    public class TestController {
    
        @RequestMapping(value="/index")
        public String viewBooklist(Integer id, HttpServletRequest request) {
            System.out.println("id=" + id);
            request.setAttribute("id", id);
            return "/index";
        }
    }
    
    

    index.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    <html>
    <body>
    first --> ${id }<br/><br/>
    second --> 
    <% 
        Integer id = (Integer)request.getAttribute("id");
        out.write("id=" + id);
    %>
    </body>
    </html>
    
    

    结果

    图片说明

    点赞 评论 复制链接分享

相关推荐