确定Action中已经获得了对象,但用<s:property >标签在jsp页面输出时怎么没显示。
2个回答
展开全部
就是一种可能,在最近的action上下文中、请求域中没有此对象,所以没有输出任何信息,或者此对象的id属性不具备标准的getXXX方法,这个方法应该是getId()
追问
之后我又把它放到request对象中
Map request =(Map)ActionContext.getContext().get("request");
request.put("listuser", userinfo);在jsp页面中采用迭代输出就有结果了。但是只是输出一个对象用这种方法像是“用宰牛刀杀鸡了”! 你说的请求域中没有对象,可以解释得更清楚点吗?
追答
如果你采用的是重定向,这个也会取不出来,再就是,你在action中对于userinfo的属性设置也会影响是否最终取出来,比如你没有get和set方法,或者不标准等等,在jsp页面的所有标签都是通过目标类中的get方法获取属性对象的值。比如你的action中的属性是 这样
private Userinfo userinfo;
利用IDE自然生产的标准get方法是 Userinfo getUserinfo(){return this.userinfo;}
Userinfo 类中的id也是一样,再者对于request域来讲,在使用转发的action结果定位,在request域中也存在一个如上面的userinfo对象,当然这个对象要想从request域中取出,action的结果定位必需是请求转发,否则不行。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询