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

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

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

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

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

也没用

2个回答

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

我这样是可以的

@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>

结果

图片说明

JKL852qaz
林兴洋 jsp中 <% %> 这里面的java代码块 能获取
一年多之前 回复
JKL852qaz
林兴洋 记得没错的话,jstl标签最后还是解析成的<%%>
一年多之前 回复
konosuba
konosuba 谢谢,不过我是指jsp中 <% %> 这里面的java代码块,这样不是只能${}这样用吗,我想在java代码块中做一点处理
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐