发布网友
共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比较多