扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
构建完示例应用程序之后,可以访问它的顶层页面,您将看到如 图 2 所示的内容。
图 2. 使用 Struts 1.2.7 构建的 Geronimo Phonebook 示例应用程序
完成应用程序构建之后:底层内容
既然已经成功构建了应用程序,而且看到了使用 Maven 的强大功能和简单性,现在该学习使它完全运行所必需的文件布局和部分代码。首先介绍 Web 应用程序层,然后介绍 EJB 层。最后将查看结缔组织 —— 连接所有组件并让它完全工作的部署计划和配置文件。参考 图 3 所示的文件目录树,以便找到这些文件。
图 3. 示例应用程序文件的目录布局
Web 应用程序层
Web 应用程序是用 JSP 和 Struts 1.2.7 框架编写的。在 src/webapp 目录中将会找到组成示例应用程序 Web 接口的文件。
该应用程序由两个主要视图组成:电话号码列表和电话号码编辑屏幕。从数据库中编辑简单记录必需的所有特性(添加、删除、编辑、更新和列表)都存在。src/java/org/acme/phonebook/struts 目录包含大量 Struts 动作来执行这些必需功能,比如创建新条目,删除条目,列出所有条目,编辑现有条目。
Struts Tiles 模板系统用于确保花费在让 Web 应用程序外观正常上的工作最少。webapp/pages 目录中的 site-template.jsp 文件定义应用程序的外观。
接下来介绍的两个主要 JSP 是 EditPhoneNumberPage.jsp 和 ListPhoneNumbersPage.jsp。其中每个页面及其在应用程序中的功能在 清单 1 中说明。
清单 1. EditPhoneNumberPage.jsp
<%@ page language="java"%>
<%@ taglib uri="/tags/struts-bean" prefix="bean"%>
<%@ taglib uri="/tags/struts-html" prefix="html"%>
<%@ taglib uri="/tags/struts-tiles" prefix="tiles"%>
<tiles:insert page="/pages/site-template.jsp" flush="true">
<tiles:put name="content" type="string">
<hr>
<h1><bean:message key="h1.EditPhoneNumberPage" /></h1>
<hr>
<h2><bean:write name="phoneBookEntryForm" property="action"/>
</h2>
<html:form action="/pages/SaveEntry.do">
<table>
<tr>
<td>
<bean:message key="prompt.EditPhoneNumberPage.name" />
</td>
<td>
<html:text property="name" size="40" />
</td>
</tr>
<tr>
<td>
<bean:message key="prompt.EditPhoneNumberPage.phoneNumber" />
</td>
<td>
<html:text property="phoneNumber" size="40" /></td>
</tr>
<html:hidden property="action" />
<html:hidden property="pk" />
<tr>
<td></td>
<td>
<html:submit>
<bean:message key="button.submit" />
</html:submit> <html:reset>
<bean:message key="button.reset" />
</html:reset>
</td>
</tr>
</table>
</html:form>
</tiles:put>
</tiles:insert>
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者