持久化层使用Hibernate。
表示层使用Struts,没有创建任何FormBean。
Action是这样的:
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
Person p = new Person();
List personList = PersonDao.searchPerson(p);
HttpSession session = request.getSession();
session.setAttribute("personList", personList);
return mapping.findForward("list_persons");
}
在list_persons.jsp页面上:
<logic:iterate id="person" name="personList">,迭代出personList中的一个元素,就放到person里面,它居然可以直接找到person对应的Person实体类(POJO)。是否它从personList中取出来的时候,就已经知道是一个Person对象了,从而知道Person的属性了,所以在使用<bean:write name="person" property="userid"/>的时候,直接把userid的值输出到页面上?请高手解释一下这其中的原理机制,谢谢。
表示层使用Struts,没有创建任何FormBean。
Action是这样的:
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
Person p = new Person();
List personList = PersonDao.searchPerson(p);
HttpSession session = request.getSession();
session.setAttribute("personList", personList);
return mapping.findForward("list_persons");
}
在list_persons.jsp页面上:
<logic:iterate id="person" name="personList">,迭代出personList中的一个元素,就放到person里面,它居然可以直接找到person对应的Person实体类(POJO)。是否它从personList中取出来的时候,就已经知道是一个Person对象了,从而知道Person的属性了,所以在使用<bean:write name="person" property="userid"/>的时候,直接把userid的值输出到页面上?请高手解释一下这其中的原理机制,谢谢。
解决方案 »
- java定时器使用的中的问题
- hibernate不能把表结构映射成实体
- 如何下载华夏大地自考教育网中的网络视频?
- 删除,修改文件或文件夹 要密码的 能写不?
- JavaMail与Imail系统使用imap协议的问题
- 包中的函数返回一个double型数据。我的为什么不能接收啊?????
- com.microsoft.sqlserver.jdbc.SQLServerException: 索引 1 超出范围
- 请问谁有中文简繁内码对照表?能否给一份. email:[email protected],谢谢阿
- 这个程序为什么不能运行查出数据库的记录出来?
- 关于tomcat插件安装的问题,求大神帮忙!
- 怎么会这样呢?????
- 使用commons-fileupload时,如何改变上传文件名称
如何根据id="person" 知道它是Person实体类(POJO),如果不知道是Person.java怎么找到它对应的属性?
为何它不认为是“person”是指Integer类呢???
searchPerson方法返回的应该是Person对象的列表,iterator标签迭代时,会取得列表中每个对象的类属性(obj.class),这样不就是知道该对象是哪个类了吗?你在用<bean:write>输出属性,那就直接调用该对象的toString()方法了。
迭代出personList中的一个元素,
它会调会框架底层的(拦截器)栈根据List personList = PersonDao.searchPerson(p);它会匹配属性
,当你在页面用bean:write name="person" property="userid"/>取值时,会根据属性来iterate出来,
而这时的iterate在底层就是一个for,推荐你看一个李刚的j2ee开发有节是写自定义标签开发的