struts2 获取一对多关系的对象的对象的属性
http://blog.sina.com.cn/s/blog_67b9ad8d0100yat1.html
http://tiger-hu.iteye.com/blog/1032623
通过下面的JSP代码可以发现,一些等价关系:
//取对象时
<s:iterator value="#request.allPatient" id="patient">
<s:property value="id"/> 与 ${patient.id} 等价
${patient.person.id} 与 <s:property value="#patient.person.id"/>等价 与${person.id}等价
</s:iterator>
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ page isELIgnored="false" %>
<%
String path = request.getContextPath();
%>
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3" />
<meta http-equiv="description" content="This is my page" />
<link rel="stylesheet" type="text/css" href="<%=path %>/css/base.css" />
<script type="text/javascript" src="<%=path %>/js/public.js"></script>
<script type="text/javascript" src="<%=path %>/My97DatePicker/WdatePicker.js"></script>
<script type="text/javascript" src="<%=path %>/js/popup.js"></script>
<script language="javascript">
function patientDelete(id)
{
if(confirm('您确定删除吗?'))
{
window.location.href="<%=path %>/patient/Patient-delete?id="+id;
}
}
function patientAdd()
{
var url="<%=path %>Patient-add.jsp";
window.location.href=url;
}
</script>
</head>
<body leftmargin="2" topmargin="2" background='<%=path %>/images/allbg.gif'>
<center>
<h2>用户列表</h2>
<table border="1">
<tr>
<td>个人ID</td>
<td>病人ID</td>
<td>用户名</td>
<td>挂号单时间</td>
<td>就诊科目</td>
<td>主诉</td>
<td>诊断</td>
<td>费用</td>
</tr>
<s:iterator value="#request.allPatient" id="patient">
<tr>
<td><a href="Person-showPerson?id=<s:property value='#patient.person_id'/>"><s:property value="#patient.person_id"/></a></td>
<td><a href="Patient-showPatient?id=<s:property value='#patient.id'/>"><s:property value="#patient.id"/></a></td>
<td><s:property value="#"/></td>
<td><s:property value="#patient.datetime"/></td>
<td><s:property value="#patient.subject"/></td>
<td><a href="Patient-delete?id=<s:property value='#patient.id'/>">删除挂号单</a></td>
<td><a href="Patient-update.jsp?id=<s:property value='#patient.id'/>">更新挂号单</a></td>
</tr>
</s:iterator>
</table>
<table width="98%" border="0" cellpadding="2" cellspacing="1" bgcolor="#D1DDAA" align="center" style="margin-top:8px">
<tr bgcolor="#E7E7E7">
<td height="14" colspan="18" background="<%=path %>/images/tbg.gif"> 病人挂号信息管理 </td>
</tr>
<tr align="center" bgcolor="#FAFAF1" height="22">
<td >个人ID</td>
<td ">病人ID</td>
<td ">用户名</td>
<td ">挂号单时间</td>
<td ">就诊科目</td>
<td ">主诉</td>
<td ">诊断</td>
<td ">费用</td>
<td ">修改</td>
<td ">删除</td>
</tr>
<s:iterator value="#request.allPatient" id="patient">
<tr align='center' bgcolor="#FFFFFF" onMouseMove="javascript:this.bgColor='red';" onMouseOut="javascript:this.bgColor='#FFFFFF';" height="22">
<td bgcolor="#FFFFFF" align="center">
<s:property value="id"/>
</td>
<td bgcolor="#FFFFFF" align="center">
<s:property value="person.id"/>
</td>
<td bgcolor="#FFFFFF" align="center">
<s:property value="person.name"/>
</td>
<td bgcolor="#FFFFFF" align="center">
<s:property value="datetime"/>
</td>
<td bgcolor="#FFFFFF" align="center">
<s:property value="subject"/>
</td>
<td bgcolor="#FFFFFF" align="center">
<s:property value="expatiate"/>
</td>
<td bgcolor="#FFFFFF" align="center">
<s:property value="diagnose"/>
</td>
<td bgcolor="#FFFFFF" align="center">
<s:property value="price"/>
</td>
<td bgcolor="#FFFFFF" align="center">
6
</td>
<td bgcolor="#FFFFFF" align="center">
<form action="" name="formAdd" method="post">
<input type="button" value="删除" onclick="patientDelete(${patient.id})"/>
</form>
</td>
</tr>
</s:iterator>
</table>
<a href="Patient-add.jsp">添加新挂号单</a>
<s:debug id="2"/>
</center>
</body>
</html>
分享到:
相关推荐
19_黑马程序员_struts2.1视频教程_对Action中所有方法进行输入校验.rar和22_黑马程序员_struts2.1视频教程_基于XML配置方式实现对action的所有方法进行校验.rar这两部分将详细介绍Struts2的验证机制。无论是基于注解...
**Struts2框架** 是一个基于MVC(Model-View-Controller)架构的开源Java Web应用程序框架,它简化了Java Web应用程序的开发过程。Struts2提供了一种简洁而强大的方式来构建动态的、可扩展的应用程序。 **问题:** ...
"黑马程序员"是一家知名的编程教育机构,他们提供的Struts2框架教程资料旨在帮助开发者深入理解和掌握这一技术。 Struts2的核心特性包括: 1. **Action类**:它是业务逻辑处理的主要载体,继承自`ActionSupport`类...
文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件能够正确上传至服务器,前端和后端都需要做一些特定的设置。 **前端注意事项:** 1. **...
总的来说,这份"黑马程序员_struts2框架开发2016版讲义和笔记资料"是一个全面学习和掌握Struts2框架的宝贵资源,涵盖了从基础到实践的所有重要方面,对于提升Java EE开发者的技能水平大有裨益。通过系统学习,开发者...
黑马程序员的笔记中可能包含了如何创建一个简单的Struts2应用,从HelloWorld实例到实际的表单提交、文件上传下载等实战案例,帮助初学者快速掌握Struts2的基本用法。 通过学习这些笔记,开发者将能够理解Struts2的...
本项目“黑马程序员Struts2人员管理系统”是专为学习Struts2的同学设计的一个实践平台,旨在帮助开发者巩固基础,熟悉开发流程。 1. Struts2框架基础: Struts2是Apache软件基金会下的开源项目,它是基于MVC设计...
本笔记主要涵盖的是黑马程序员2016年推出的Struts2教程的前3天内容,虽然没有提供源代码,但依然能为我们提供丰富的理论知识和实践指导。 一、Struts2框架概述 Struts2是Apache软件基金会的开源项目,它是Struts1的...
黑马程序员的资料中,通过`day01.zip`至`day04.zip`的分阶段学习,可以逐步掌握Struts2的基础概念、配置、Action编写、拦截器应用、结果类型配置以及实战项目开发等技能。 综上所述,Struts2框架的学习涉及诸多...
struts2 获取request session对象
- **Struts2**: Struts2直接使用Action对象的属性作为输入数据,消除了对`ActionForm`对象的需求。输入数据可以是复杂的对象类型,包含子属性。此外,Struts2支持模型驱动特性,允许使用现有的业务对象作为输入/输出...
这个“黑马程序员SSM整合学习项目demo”是一个实践性的学习资源,通过它,你可以深入了解SSM框架的整合过程,提升Java Web开发能力。在实际项目中,SSM框架的整合可以大大提高开发效率,同时提供良好的可维护性和...
"黑马程序员 shh框架-crm项目源码" 是一个基于SSH(Spring、Struts、Hibernate)框架开发的客户关系管理(CRM)系统的源代码。这个项目旨在帮助学习者理解和掌握SSH框架在实际项目中的应用,同时也为开发者提供了一...
Struts2 是一个基于MVC 模式的 Web 应用程序框架,它提供了多种方式来获取 Response 对象,以下是四种获得 Response 对象的方法: 方法 1:使用 Struts2 Aware 拦截器 在 Struts2 中,可以通过实现Aware接口来获取...
4. **内置对象获取**:Struts2提供了一系列内置对象,如`ActionContext`、`ValueStack`、`Session`等,开发者可以直接在Action类中使用。例如,`ActionContext`提供了访问请求、会话、上下文等信息的方法;`...
Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它在Web开发领域具有广泛的应用。...理解并掌握Struts2框架,对于Java程序员来说,仍然是提升技能和经验的重要途径之一。
第四章:Struts2中的OGNL.ppt详细探讨了Struts2框架中使用OGNL(Object-Graph Navigation Language,对象图导航语言)的关键概念和技术。OGNL作为一种强大的表达式语言,使得开发者能够方便地访问Action携带的数据,...
Struts2、Spring4和Hibernate4是Java Web开发中的三大主流框架,它们分别负责MVC模式中的表现层、业务层和服务层。这个最新的项目系统整合了这三个框架,旨在提供一个高效、灵活且易于维护的开发环境。下面将详细...
ognl-3.0.jar:对象图导航语言(Object Graph Navigation Language),它是一种功能强大的表达式语言(Expression Language,简称为EL),通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,...
- **自动填充**:Struts2 自动从 request 中获取数据并填充到 Action 对象中。 - **原理**:通过拦截器实现,拦截器会查找与 Action 类中的 setter 方法相匹配的请求参数,并调用这些方法填充数据。 **3.3 数据传递...