- 浏览: 1041176 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
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 1964Struts2提供了强大的拦截器功能,特别是加上convent ... -
Java中的URLEncoder和URLDecoder类
2007-08-14 03:21 4622为了解决DisplayTag的问题,可能要使用这2个类了,本篇 ... -
关于struts中validate的几种情况
2007-08-12 03:51 2700(说明)这里采用了最新版本struts-1.2.7,是在str ... -
Struts标签checkbox使用總結(默認選擇設置)
2007-07-17 22:42 4374被一個checkbox 的編輯操作功能困擾了一些時間,現在總結 ... -
在struts-config.xml里代替跳转页面
2006-11-30 16:13 2540之前也搞不懂,后来也是看了Struts的Example 才弄懂 ... -
在Struts的html:select标签中显示默认值
2006-11-30 15:33 28366最近在写一个系统中,有一个有下拉列表的修改资料功能,对Stru ... -
Struts配置文件详解
2006-10-02 04:25 3755Struts应用采 ... -
手把手教你在Eclipse中配置开发Struts(一)
2006-10-12 07:57 3613手把手教你在Eclipse中配置开发Struts(一)作者: ... -
Struts配置连接池错误解决问题
2006-10-25 13:25 2774配置连接池错误解决2006年09月22日 星期五 下午 03: ... -
Struts数据源配置过程(不在Action里连接)
2006-10-25 13:28 4270JDBC数据源(Data Source)的使用,简化了数据库的 ... -
Struts-config.xml配置文件讲解(一)
2006-10-27 10:07 2389... -
究竟是用Struts的连接池好还是用tomcat的连接池好?还有struts的SQL Server连接池怎么配置啊
2006-10-27 12:48 4853究竟 ...
相关推荐
在Eclipse中配置Struts2项目(html)手把手教会你 如何在Eclipse中配置Struts2。 struts2 标签库介绍(html)对Struts2的标签做了详细的介绍让你轻松掌握Struts2的标签。 STRUTS2学习文档.pdf 对Struts2的一些配置...
从零开始,教授如何配置 Eclipse 开发 SAP ABAP 程序环境。2020 年最新版本操作笔记。对于初学者十分友好。 ABAP Development Tool的Java端实现就是Eclipse的一个扩展,使用JCO(Java Connector)连接ABAP后台的adt...
Java开发工具Eclipse的详细指南,手把手教你如何配置Eclipse,让你感受到Eclipse的强大功能,体验Java的乐趣
本文手把手图文教你在eclipse下如何配置tomcat。
ssh的开发平台已经受到越来越多人的青睐,本文从小处着眼,手把手教你如何开始自己的ssh开发,可以说之前版本的补充,旨在教你怎样把复杂的事情简单化。
手把手教你学DSP:基于TMS320F28335 手把手教你学DSP:基于TMS320F28335 手把手教你学DSP:基于TMS320F28335 手把手教你学DSP:基于TMS320F28335 手把手教你学DSP:基于TMS320F28335 手把手教你学DSP:基于TMS320F...
java教程之手把手教你用eclipse新建基于maven构建的spring boot项目.zip
手把手教你从eclipse 提交 代码到github
struts spring hibernate ssh 三大框架集成详细步骤 手把手教你搭框架 步骤清晰;搭配MyEclipse 5.5 M2截图;让你不需要任何其他资料;跟着步骤;轻松搭建;
struts2入门配置手把手教.doc struts2入门配置手把手教.doc struts2入门配置手把手教.doc struts2入门配置手把手教.doc
从安装Eclipse开始一步步讲解如何安装SVN和如何使用SVN
以图文并茂的方式手把手教你如何下载jdk8.11,安装jdk,下载eclipse,安装eclipse,下载ADT,安装ADT;下载Android sdk,安装Android SDK---最终帮你完成Eclipse+Android开发环境的安装。 安装完毕教你如何验证JDK...
手把手教你配置cisco路由器 公司在构建网络时,如何对路由器进行合理的配置管理成为网络管理者的重要任务之一。本专题就为读者从最简单的配置开始为大家介绍如何配置cisco路由器。 很多读者都对路由器的概念非常...
手把手教你学2812,很全面的一本书。电子版,适合初学者学习,
struts2手把手教你struts2让你轻松学习struts2!
struts2入门配置手把手教
手把手教你配路由器手把手教你配路由器手把手教你配路由器手把手教你配路由器手把手教你配路由器
手把手教你学DSP—基于TMS320F28335的应用开发及实战配套程序
高清珍藏学习嵌入式开发入门最好资料《手把手教你学51单片机》教材pdf
手把手系列-Eclipse+JBossIDE+JBoss开发环境配置