Struts Tag Library in Java: Enhancements and Internationalizatio...
在本篇关于JAVA技术的文章中,我们将深入探讨Struts标签库在Web开发中的应用和改进。Struts是一套基于Java的开源企业级Web应用程序框架,它在2001年2月22日进行了一次关键更新。这次更新涉及到了页面元素的导入语句、国际化支持、错误处理机制以及表单组件的重构。 首先,引入了新的Struts标签库。以前在JSP中使用`<%@page import%>`指令来导入Java类的方法已被`<%@taglib uri="/WEB-INF/struts.tld" prefix="struts"%>`所取代。这样做的好处是,Struts提供了更清晰的组织结构,便于代码管理和维护,并且有利于国际化,因为资源文件如`ApplicationResources.properties`集中管理文本字符串,如`join.title`,使得翻译和调整变得更为便捷。 其次,错误处理得到了增强。`ActionServlet`或`ActionForm`会根据预定义的错误消息构建显示给用户的错误信息。这些错误信息不仅可以存储在`ApplicationResources`的属性文件中,还可以通过设置`error.header`和`error.footer`来自定义错误信息的格式,提升了用户体验。 在表单处理方面,JSP中的传统`<form>`标签和属性被Struts标签(如`<form:form>`、`<form:text>`和`<form:submit>`)所替代。这不仅提供了更加一致和强大的API,还允许开发者更好地控制表单的行为和样式。例如,`<input>`标签被替换为`<form:text>`,用于处理表单输入字段,而`<submit>`标签则变为`<form:submit>`,用于提交表单数据。 最后,模型-视图-控制器(Model-View-Controller, MVC)架构中的“模型”部分强调了会话(Session)的作用。Struts利用Session对象来持久化用户状态和数据,使得多个请求之间可以共享信息,提高了应用的灵活性和复用性。 总结来说,本文主要讨论了Struts框架在JAVA技术中的应用,特别是其对表单处理、国际化和错误处理的改进,以及如何利用Session实现高效的业务逻辑管理。这些更新不仅提升了Web开发的效率,也为开发人员提供了一个更加现代和易于维护的开发环境。
日期:2001-2-22 12:50:46
Page changes
The following are the list of changes that occurred using the Struts tag library:
Imports
<%@ taglib uri="/WEB-INF/struts.tld" prefix="struts" %>
The <%@page import? for Java has been replaced by <%@ taglib uri? for the Struts tag library.
Text
<struts:message key="join.title"/>
The resource property file contains the text for join.title. In this example, ApplicationResources property file contains the name-value pair. This makes string review and changes for internationalization easier.
Errors
<form:errors/>
ActionServlet or ActionForm builds the error message to display. These error messages can also be contained in the property file. ApplicationResources also provides a way of formatting the error by setting error.header and error.footer.
HTML Form
<form:form action="join.do" focus="email" >
JSP <form> tags and attributes replace HTML <form> tags and attributes. <form action="join.jsp" name="join"> has changed to <form:form action="join.do" focus="email" >.
HTML <input> tag has been replaced by <form:text/>.
HTML <submit> tag has been replaced by <form:submit/>.
Model -- Session state
JoinForm subclasses ActionForm and contains the form data. The form data in this example is simply the e-mail address. I have added a setter and getter for the e-mail address for the framework to access. For demonstration purposes, I overwrote the validate() method and used the error tracking feature of Struts. Struts will create JoinForm and set the state information.
Model -- Business logic
As we discussed earlier, Action is the interface between the Controller and the actual business object. JoinAction wraps the calls to the business.jar that was originally in join.jsp. The perform() method for JoinAction is displayed in Listing 5.
Listing 5. - JoinAction.perform()
public ActionForward perform(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
// Extract attributes and parameters we will need
JoinForm joinForm = (JoinForm) form;
String email = joinForm.getEmail();
ActionErrors errors = new ActionErrors();
// store input....
try {
business.db.MailingList.AddEmail(email);
} catch (Exception e) {
// log, print stack
// display error back to user
errors.add("email",new ActionError("error.mailing.db.add"));
}
剩余5页未读,继续阅读
- 粉丝: 0
- 资源: 13
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- WebLogic集群配置与管理实战指南
- AIX5.3上安装Weblogic 9.2详细步骤
- 面向对象编程模拟试题详解与解析
- Flex+FMS2.0中文教程:开发流媒体应用的实践指南
- PID调节深入解析:从入门到精通
- 数字水印技术:保护版权的新防线
- 8位数码管显示24小时制数字电子钟程序设计
- Mhdd免费版详细使用教程:硬盘检测与坏道屏蔽
- 操作系统期末复习指南:进程、线程与系统调用详解
- Cognos8性能优化指南:软件参数与报表设计调优
- Cognos8开发入门:从Transformer到ReportStudio
- Cisco 6509交换机配置全面指南
- C#入门:XML基础教程与实例解析
- Matlab振动分析详解:从单自由度到6自由度模型
- Eclipse JDT中的ASTParser详解与核心类介绍
- Java程序员必备资源网站大全