- 浏览: 1051960 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
wenson:
lzjzy520 写道 求 项目完整元代码已经够清楚了,看不懂 ...
使用Spring JavaMail发送邮件总结 -
lzjzy520:
求 项目完整元代码
使用Spring JavaMail发送邮件总结 -
xiejx618:
能提高多大的性能? 不能用数据来说话吧希望你能用jmeter做 ...
利用APR本地库提高Tomcat性能 -
mrwalter:
学习了,挺好用的,局域网内速度很快
ssh远程文件传输命令scp -
wcily123:
不错
ssh远程文件传输命令scp
来源:http://blog.csdn.net/baggio785
原文地址:http://blog.csdn.net/baggio785/archive/2006/03/10/620579.aspx(转载请注明出处)
日期:2006-3-9
关键词:Eclipse,MyEclipse,Struts,Java
创建消息资源文件
视图组件将使用标签来输出文本内容,这些内容来自于Resource Bundle。Resource Bundle对应消息资源文件。
代码清单二(ApplicationResources.properties)
# 这里是注释 logon.username.error = 请输入用户名! logon.userpassword.error = 请输入密码! logon.badusername.error = 用户名不能为admin! logon.baduserpassword.error = 密码不能为123456! logon.success = 欢迎您登录! |
为了实现国际化,消息资源文件中的汉字采用的是UTF-8编码。查看如何实现汉字转化为UTF-8。
创建JSP文件
logon.jsp(所在路径为/form/)接收用户输入的用户名和密码,并显示表单验证失败的错误信息。success.jsp显示登录成功的信息。
JSP文件全部使用客户化标签,无JAVA代码,输入的文本内容完全由标签提供。
代码清单三(logon.jsp)
<%@ page contentType="text/html;charset=UTF-8" language="java"%> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<html> <head> <!--title使用客户化标签,文本内容对应的是消息资源文件中logon.page.title的值--> <title><bean:message key="logon.page.title"/></title> </head> <body> <html:form action="/logon" method="POST"> 用户名:<html:text property="username"/><html:errors property="username"/><br/> 密 码:<html:password property="userpassword"/><html:errors property="userpassword"/><br/> <html:submit value="登录"/><html:reset value="取消"/> </html:form> </body> </html> |
代码清单四(success.jsp)
<%@ page language="java" pageEncoding="UTF-8"%> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%> <html:html lang="true"> <head> <html:base /> <title>success.jsp</title> </head>
<body> <logic:present name="savelogon" scope="request"> <bean:write name="savelogon" property="username"/> <bean:message key="logon.success"/> </logic:present> </body> </html:html> |
创建ActionForm Bean组件logonFrom
用户提交HTML表单后,Struts框架会自动把表单数据封装到ActionForm Bean(本例是logonForm)中。ActionForm Bean的属性必须与HTML表单的字段一一对应。ActionForm Bean会对表单数据进行验证,并提供将HTML表单的字段值重置为默认值的方法(等同于HTML中Form表单的Reset)。
代码清单五(logonFrom.java)
package com.mystruts.struts.form; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionErrors; /** // --------------------------------------------------------- Instance Variables /** userpassword property */ /** username property */ // --------------------------------------------------------- Methods /**
//如果用户名验证失败,将ActionMessage对象保存到ActionErrors对象errors中。logon.username.error对应消息资源文件中的logon.username.error的值。
//返回ActionErrors对象errors,Struts框架会把errors保存在request范围内,并将请求转发到视图组件logon.jsp中,通过<html:errors/>来显示错误信息 /** // TODO Auto-generated method stub /** /** /** /** } |
创建控制器Action组件logonAction
logonAction对表单数据进行业务逻辑验证。
代码清单六(logonAction.java)
package com.mystruts.struts.action; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.Action; import com.mystruts.struts.SaveLogon; /** // --------------------------------------------------------- Instance Variables // --------------------------------------------------------- Methods /** //获得表单数据中的username //获得表单数据中的userpassword //定义非法用户名 //定义非法密码
if(badusername.equals(username)){ //如果用户名验证失败,将ActionMessage对象保存到ActionMessages对象errors中。logon.badusername.error对应消息资源文件中的logon.badusername.error的值。 //保存ActionMessages对象errors到request范围。 //返回ActionForward对象,Struts框架会把请求转发到视图组件logon.jsp中,通过<html:errors/>来显示错误信息。 if(userpassword.equals(baduserpassword)){
//清除request范围内的ActionForm Bean,因为后面的请求已经不需要了
} |
创建模型组件SaveLogon
本模型提供get/set方法,以及saveToDb方法。在例子中并未实现saveToDb方法。
代码清单七(SaveLogon.java)
package com.mystruts.struts; /** private String username = null; public void setUsername(String username){ public String getUsername(){ public void setUserpassword(String userpassword){ public String getUserpassword(){ public void saveToDb(){ }
|
运行
如果用户名和密码为空,运行结果如图十二、图十三、图十四所示。
(图十二)
如果用户名为admin,运行结果如图十三
(图十三)
如果通过验证,运行结果如图十四
(图十四)
小结
1 为了降低偶合度,应该建立一个存放常量的JAVA文件。例如logonAction.java中的String badusername = "admin",或者request.setAttribute("savelogon",sl)的第一个参数。
2 要实现Struts的国际化,支持多国语言,编码方式一定要为UTF-8。
3 在配置Action时,见图九,如果选取redirect,则在struts-config.xml中的action元素会多一个属性,redirect="true"。运行的结果是success.jsp中无法获得request范围内的savelogon对象。
发表评论
-
struts2拦截器
2009-10-17 04:31 2000Struts2提供了强大的拦截器功能,特别是加上convent ... -
Java中的URLEncoder和URLDecoder类
2007-08-14 03:21 4681为了解决DisplayTag的问题,可能要使用这2个类了,本篇 ... -
关于struts中validate的几种情况
2007-08-12 03:51 2727(说明)这里采用了最新版本struts-1.2.7,是在str ... -
Struts标签checkbox使用總結(默認選擇設置)
2007-07-17 22:42 4403被一個checkbox 的編輯操作功能困擾了一些時間,現在總結 ... -
在struts-config.xml里代替跳转页面
2006-11-30 16:13 2575之前也搞不懂,后来也是看了Struts的Example 才弄懂 ... -
在Struts的html:select标签中显示默认值
2006-11-30 15:33 28499最近在写一个系统中,有一个有下拉列表的修改资料功能,对Stru ... -
Struts配置文件详解
2006-10-02 04:25 3785Struts应用采 ... -
手把手教你在Eclipse中配置开发Struts(一)
2006-10-12 07:57 3641手把手教你在Eclipse中配置开发Struts(一)作者: ... -
Struts配置连接池错误解决问题
2006-10-25 13:25 2813配置连接池错误解决2006年09月22日 星期五 下午 03: ... -
Struts数据源配置过程(不在Action里连接)
2006-10-25 13:28 4308JDBC数据源(Data Source)的使用,简化了数据库的 ... -
Struts-config.xml配置文件讲解(一)
2006-10-27 10:07 2425... -
究竟是用Struts的连接池好还是用tomcat的连接池好?还有struts的SQL Server连接池怎么配置啊
2006-10-27 12:48 4896究竟 ...
相关推荐
在Eclipse中配置Struts2项目(html)手把手教会你 如何在Eclipse中配置Struts2。 struts2 标签库介绍(html)对Struts2的标签做了详细的介绍让你轻松掌握Struts2的标签。 STRUTS2学习文档.pdf 对Struts2的一些配置...
本文旨在手把手教你如何入门 Struts2,通过实际操作来理解其核心概念和配置过程。 首先,我们来看一下 Struts2 的优点和它解决的问题。Struts2 作为 MVC 2 模型的框架,提供了丰富的功能,比如一个完整的标签库...
- 在struts.xml文件中,你可以定义Action类、结果页面、拦截器栈等,例如`<action>`元素定义了一个动作,`<result>`元素定义了动作执行后的跳转页面。 6. **Action和结果**: - Action类是业务逻辑的载体,它接收...
SSH入门教程:手把手教你整合Struts1.2、Spring和Hibernate SSH是Java开发中的一个经典技术栈,由Struts、Spring和Hibernate三个开源框架组成。本教程将引导初学者逐步了解并掌握这三个框架的整合,从而实现一个...
首先,确保已安装JDK、Eclipse或IDEA等开发环境,并下载Spring、Struts2和Hibernate的最新稳定版库。 2. **创建项目结构** 创建一个新的Maven或Gradle项目,按照标准的Java Web项目结构组织源代码和配置文件。 3...
- 在MyEclipse中配置好数据库连接,并确保连接正确无误。 2. **创建Web项目** - 使用MyEclipse创建一个新的Web项目,命名为`aaa`。 3. **引入Spring框架** - 通过MyEclipse引入Spring框架的所有必需的jar包,并...
- **ActionForm**:在Struts中,ActionForm是用于在Action类和JSP页面之间传递数据的类。在这里,我们创建了一个名为`loginForm`的ActionForm,包含两个String类型的属性`username`和`password`。 - **Action**:...
标题中的“一个简单的手把手教你写购物车的PDF文件”表明这是一个教程性质的文档,旨在指导读者如何构建一个基础的购物车系统。购物车是电子商务网站的核心功能之一,它允许用户选择并存储他们想要购买的商品,直到...
文档中详细介绍了项目的基本开发流程、所需环境配置以及具体的实施步骤,便于开发人员在实际工作中参考使用。 #### 三、开发原则 - **尽量简化**:简化代码结构,降低维护难度。 - **提高代码复用性**:避免重复...
《用案例学JavaWeb整合开发:Java+Eclipse+Struts2+Ajax》中的“组织机构和用户管理、权限管理、合同管理、项目管理、工作流引擎、全文检索引擎、数据导出组件”等功能模块可以直接应用在真实的系统中。
3. **Interceptor拦截器**:这是Struts2的一个重要特性,它允许你在Action执行前后插入自定义的处理逻辑,如日志记录、权限检查等。拦截器链使得代码结构更加清晰,易于维护。 4. **结果类型(Result)**:Action...
- **开发环境配置与案例演示**:手把手指导搭建Struts开发环境,使用Eclipse和MyEclipse,不依赖插件自动生成,而是手动创建`struts-config.xml`配置文件和Action类,增强对框架配置的理解。 - **互动教学**:在配置...
在ActionForm配置中,选择动态Form并继承自`DynaValidatorForm`,定义两个属性`username`和`password`。同时,设置`jsp`文件的路径和Input source。 3. **创建forwards** 创建一个名为`indexGo`的forwards,用于在...
【描述】中的内容揭示了该教程的实践性质,"手把手教你怎么使用MyEclipse部署框架和编程"意味着它将包含一系列步骤指导,逐步演示如何在MyEclipse中设置Struts项目,编写代码,以及如何测试和运行应用。这种教学方式...
在本案例中,"web"可能指的是基于Java的Web应用,如Spring MVC或Struts等框架开发的项目。 【描述】"web的Maven工程代码"暗示了这个压缩包包含了一个完整的Web应用项目结构,其中包括了Maven配置文件(pom.xml)、...
标题中的"major.zip"是一个压缩文件,通常用于存储多个文件或文件夹以便更方便地传输或存储。...在实际工作中,这两个文件可能是某个Java项目的一部分,需要解压并结合其他上下文信息来理解其用途和功能。
在本实验报告中,我们将深入探讨Java编程语言的相关知识点,这是一个广泛应用于软件开发、Web应用程序、移动应用(尤其是Android平台)以及企业级解决方案的强大工具。Java以其“一次编写,到处运行”的理念,提供了...
项目五:网上拍卖系统 介绍 基于B2C的网上拍卖系统主要用于帮助人们应用互联网方便快捷买到自己所中意的商品,并参与到秒杀与竞拍当中。 数据库:SQL Server 使用技术:Spring + Struts2 + ...开发工具:Eclipse 链接