spring mvc里,jsp中怎么获取bean

发布网友

我来回答

2个回答

热心网友

首先,获取的 bean 的时候要保证或取得的 bean 必须携带 spring 容器注入的属性,这里举一个简单的例子:

以 ,service,action 这三种常见的数据模型,业务模型,控制器来举例子,(当然你使用 spring mvc 都是一样的,只不过省掉了 action,但都是控制器,你懂得):

如果jsp 视图需要接受一个 service 的 bean,必须要保证该 service 的 bean 中含有 注入的 属性,这个懂吧?,如果直接在 jsp 中 new(实例化对象),这样将会丢失属性的,因为内存区域完全开辟了新的堆空间,跟 spring 容器所管理的 bean 完全不是一个,那么问题就来了,怎么样才能简单的得到这个拥有注入属性的 bean 呢?

可以尝试将该 bean 封装为控制器(controller)中的一个成员(属性),之后通过web 容器内置的request ,session ,application 等作用域来进行封装,这就是简单的解决办法了

热心网友

一、SpringMVC带的有两种方式:

ModelMap,大概用法:


@RequestMapping(value = "method1")

public String imports(HttpServletRequest request, HttpServletResponse response, ModelMap map) {

Bean bean = new Bean();

map.put("bean", bean);

}

构造ModelAndView对象,大概用法:

Map<String,Object> model = new HashMap<String,Object>();  

Bean bean = new Bean();

            model.put("bean",bean);  

 return new ModelAndView("reservationQuery",model); 

二、用response.getWriter();

ObjectMapper mapper = new ObjectMapper();

Bean bean = new Bean();

            model.put("bean",bean);  

mapper.writeValue(response.getWriter(), map);


这是大概用法,具体,还得靠你参考相关API,希望对你有帮助吧!

PS:一般用第1点ModelMap比较多

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com