JAVA 如何获取modelandview的返回值,如果把一个对象放在map集合里(假如集合名字是

JAVA 如何获取modelandview的返回值,如果把一个对象放在map集合里(假如集合名字是data,实体类名字是teacher,里面有属性 name)通过modelandview传到前端页面 然后怎么获取里面的值呢 ? 要想拿到name值是直接用teacher.name吗 不要先获取data再遍历吗

1、使用ModelAndView作为返回值,首先在方法头中进行声明:

public ModelAndView getNameById(HttpServletRequest request,HttpServletResponse response) throws Exception{}

2、然后在方法体中实例化ModelAndView。

ModelAndView mv=this.getAutoView().addObject("object",object);

3、最后在方法中的末尾加上return mv;

那么mv中的值是什么呢?

ModelAndView: reference to view with name '/officeoa/test/bjqGetNameById.jsp'; model is {bjq=com.hotent.officeoa.model.test.Bjq@1d001c5c[id=10000007960011,name=课本,password=12ab,department=测试3,departmentID=,leader=22222,leaderID=]}

解析:mv中有一个view值和一个model值。view是我们条转到的页面的地址,model则是页面中会用到的数据。

4、最后附上一个完整的方法及后台输出的值。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-26
modelandview返回的时候,
form是一个Object对象,tearcher是Object的一个属性,
return new ModelAndView("/index.jsp","formName",form);
你在jsp里面可以取${formName.teacher.name}追问

直接用响应页面用${teacher.name}接收行吗 假如从后台穿的是一个包含teacher的集合

追答

那样是不行的,放在modelAndview里面,必须是一个确定的form对象,你可以比如
public class A{
List list=null

A a = new A();
return new ModelAndView("index.jsp","key",a);

或者直接用request.setAttribute("key",list);,页面上${key}

本回答被网友采纳
第2个回答  2014-09-29
teacher.name获取。map相当于request。追问

request不是还要用request.getparamater获取呢 这个直接什么不用用teacher.name就可以了吗

没有什么传递范围吗 只能在modelandview传递的路径下获取吗

追答

request.getParamater是后台获取页面传递过来的参数。你说的是在页面获取值,两个怎么混在一起说?什么叫“modelandview传递的路径下”,不要乱发明名词。传递范围自然是request的范围。

追问

失误咯 想说requestScope.list. var=teacher. 然后才能用 teacher.name的而我看老师的程序里用modelandview后直接用teacher.name了

追答

哎,怕了你了。requestScope.list. var=teacher.
这东西是什么啊,我猜list是map对象的名称,var是teacher对象的名称?等于号是干嘛的?你准备循环?map里面的值是唯一的,循环了干什么。request域对象就类似于map这种键值对的形式,所以直接把map当成request存储就行了。map在MODELANDVIEW对象中是可以选的,在不改动代码的情况下,如果没有map,我就直接使用request设值。我估计spring后台代码做了如下操作。循环map集合,把其中的键值对重新设值到request对象中。

追问

谢谢你的不离不弃的解答

第3个回答  2014-09-29
前台页面要用el表达式 或者struts2标签的 iterator遍历出来
相似回答