⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 -+

📁 ajax框架与struts框架的最佳结合
💻
字号:
今天接上回继续学习:


制作登录事件,其中使用了表单验证框架。

先增加资源文件内容
ApplicationResources.properties文件中加入

prompt.username=User Name
prompt.password=Password

button.logon=Logon
button.reset=Reset

ApplicationResources_zh_CN.properties文件中加入

prompt.username=用户名
prompt.password=密  码

button.logon=登录
button.reset=重置

建立ActionForm、Action、jps(logon.jsp)
Superclass中选择:org.apache.struts.validator.ValidatorForm
这将使用Validator框架对表单进行验证

创建一个jsp文件,logonContent.jsp

修改logon.jsp文件
       logon.jsp 和 index.jsp 结构差不多
logon.jsp 中的代码如下:
      <%@ include file = "/taglibs.jsp" %>
      <%@ include file="/header.jsp" %>
      <%@ include file = "logonContent.jsp" %>
      <%@ include file="/footer.jsp" %>

修改logonContent.jsp文件,这里我使用已经改好的文件内容。
 
**现在得配置Validator框架对所提交的数据进行验证**

首先,配置struts-config.xml文件,以增加Validator框架

Validator是以Struts的插件型式进行增加的,在这里将使用向导进行增加

Plugin class: org.apache.struts.validator.ValidatorPlugIn
Set properties: 这里点Add然后输入以下内容
	Property: pathnames
	Value: /WEB-INF/validator-rules.xml,/WEB-INF/validation.xml

在WEB-INF目录中创建validation.xml文件 ,注意文件名称和上面的要对应

内容如下:
****************************************************************************************

<form-validation>
	<!-- ========== Default Language Form Definitions ===================== -->
	<formset>
		<form name="logonForm">
			<field property="userName" depends="required">
				<arg0 key="prompt.username" />
			</field>
			<field property="userPwd" depends="required">
				<arg0 key="prompt.password" />
			</field>
		</form>
	</formset>
</form-validation>

****************************************************************************************
在资源文件中加入以下内容

ApplicationResources.properties文件中加入
errors.required={0} is required.

ApplicationResources_zh_CN.properties文件中加入
errors.required={0} 不能为空!

这两句是框架自行调用的。

现在修改ActionForm
   将ActionForm中的validate改为validator

修改LogonForm中的reset事件



得把数据库给建了,用户密码从数据库中提取,和用户输入的密码对比。

数据名称为addressbook

这是创建脚本
CREATE TABLE `userlist` (
  `id` int(11) NOT NULL auto_increment,
  `username` varchar(30) NOT NULL default '',
  `userpwd` varchar(30) NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1; 

用户注册的过程稍后再做
现在使用语句添加一用户
insert into userlist (username,userpwd) values ('sonic','sonic');

   登录流程:
       index --> logon --> mainMenu 这是正常事件流,还有可选事件流。
       index --> logon -->(用户名或密码错误) logon ,登录信息不正确返回登录页再次登录。

打开LogonAction.java文件
增加以下内容

		//获取提交的用户名称和密码
		String userName=request.getParameter("userName");
		String userPwd=request.getParameter("userPwd");
		
		String mUserPwd=null;
		Userlist ul=null;
		//创建连接
		Session session=SessionFactory.currentSession();
		//创建事务
		Transaction tx=session.beginTransaction();
		//创建对话
		Query query=session.createQuery("select u from Userlist as u where username='" +
				userName + "'");
		try{
			Iterator it = query.iterate();
			ul = (Userlist) it.next();
			mUserPwd=ul.getUserpwd();
		}catch (Exception e) {
			System.out.println(e.getMessage());
		}
		//事务提交
		tx.commit();
		//关闭连接
		SessionFactory.closeSession();
		if(userPwd.equals(mUserPwd))
			return (mapping.findForward("gomainMenu"));
		else
			return (mapping.findForward("rLogon"));

还没有做映射呢,现在添加吧。
连接部份是上一回所做的,现在就不重复了。

配置跳转

这里跳转到mainMenu.jsp,现在没有这个页面,所以得添加一个。。

以后将对这个页面进行修改,所以现在就用默认的就行了。

调试一下吧。
看上去很简单吧。
请耐心点,我也没办法。。
页面中有我的联系方法,在这里就不多说了。。

我的网页正在制作中,域名暂定为 www.qxyn.com,oksonic.dec.cn

使用Eclipse的导入方法将类库导入。

包内带有整个工程文件的源程序。

这就是表单验证框架起的做用,如果在测试中出现框架不起作用时,请将部署从Tomcat是移除后再重新部署。
这是我在试验时出现过的问题。

这是有意让它出错。页面将保持在当前页,应该说是跳转回当前页。。

Ok,通过验证了。。

也祝你成功。。。

下回见吧。。。未完待续!!!!

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -