register.jsp
<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="/struts-tags" prefix="s" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>用户注册</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<link rel="stylesheet" type="text/css" media="screen" href="style/screen.css" />
<script src="js/jquery-1.4.2.min.js" type="text/javascript"></script>
<script src="js/jquery.validate.js" type="text/javascript"></script>
<script type="text/javascript">
$().ready(function() {
// validate signup form on keyup and submit
$("#register_form").validate({
rules: {
name: {required: true, rangelength: [6, 20],
remote: {url: "user/checkName", type: "post"}},
email: {required: true, email: true},
pwd: {required: true, rangelength: [6, 20] },
rePwd: {required: true, rangelength: [6, 20], equalTo: "#register_form_pwd"},
inputCode: {required: true, equalTo: "#register_form_checkCode"}
},
messages: {
name: {required: "请输入账号", rangelength: "请输入长度在6-20的字母,数字", remote: "用户名已经存在"},
email: "请输入一个有效的email地址",
pwd: {required: "请输入密码", rangelength: "请输入长度在6-20之间的密码"},
rePwd: {
required: "请输入密码",
rangelength: "请输入长度在6-20之间的密码",
equalTo: "请输入和上面一样的密码"
},
inputCode: {required: "请输入验证码", equalTo: "验证码输入错误"}
}
});
//创建验证码
createCode();
//初始化注册按钮
$("#register_form_register").attr("disabled", !$("#register_form_agree_protocol").attr("checked"));
$("#register_form_agree_protocol").click(function() {
$("#register_form_register").attr("disabled", !this.checked);
});
});
//验证码
var code ; //在全局 定义验证码
function createCode(){
code = "";
var codeLength = 4;//验证码的长度
var checkCode = document.getElementById("register_form_checkCode");
checkCode.value = "";
var selectChar = new Array(2,3,4,5,6,7,8,9,'A','B','C','D','E','F','G','H','J','K','L','M','N','P','Q','R','S','T','U','V','W','X','Y','Z');
for(var i=0;i<codeLength;i++) {
var charIndex = Math.floor(Math.random()*32);
code +=selectChar[charIndex];
}
if(code.length != codeLength){
createCode();
}
checkCode.value = code;
}
</script>
<%-- <style type="text/css">
form { width: 500px; }
form label { width: 250px; }
form label.error,
form input.submit { margin-left: 253px; }
</style> --%>
<style type="text/css">
.code{
background-image:url(code.jpg);
font-family:Arial;
font-style:italic;
color:Red;
border:0;
padding:2px 3px;
letter-spacing:3px;
font-weight:bolder;
}
.unchanged {
border:0;
}
</style>
</head>
<body>
<s:form action="/user/register" id="register_form" method="POST">
<h1>${message}</h1>
<s:label>姓名</s:label><s:textfield name="name"/>
<br/>
<s:label>E-mail</s:label><s:textfield name="email"/>
<br/>
<s:label>密码</s:label><s:password name="pwd"/>
<br/>
<s:label>确认密码</s:label><s:password name="rePwd"/>
<br/>
<s:textfield name="inputCode"/>
<s:textfield name="checkCode" class="code" style="width: 55px" readonly="true"/>
<s:a href="#" onclick="createCode(); return false;">看不清楚换一张</s:a>
<br/>
<s:checkbox name="agree_protocol" label="同意校园淘用户协议"/>
<br/>
<s:submit name="register" value="注册" disabled="true"/>
</s:form>
</body>
</html>
action:
package com.freemind.secondhand.action;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import com.freemind.secondhand.user.service.UserService;
import com.opensymphony.xwork2.ActionSupport;
/**
* 用户注册
*
* @author zhangxiaolong
*
*/
public class UserRegisterAction extends ActionSupport{
private static final long serialVersionUID = -7359704415491782394L;
private String name;
private String pwd;
private String rePwd;
private String email;
private UserService userService;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getRePwd() {
return rePwd;
}
public void setRePwd(String rePwd) {
this.rePwd = rePwd;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public void setUserService(UserService userService) {
this.userService = userService;
}
private InputStream inputStream;
public InputStream getInputStream() {
return inputStream;
}
/**
* 检查用户名是否存在
*
* @return
*/
public String checkName()
{
Boolean isExits = true;
if(userService.checkName(this.name) > 0)
{
//return renderText("false");
isExits = false;
inputStream = new ByteArrayInputStream(isExits.toString().getBytes());
}
else
{
//return renderText("true");
isExits = true;
inputStream = new ByteArrayInputStream(isExits.toString().getBytes());
}
return SUCCESS;
}
/**
* 注册
* @return
*/
public String register()
{
if(userService.register(name, pwd, email) > 0) {
return SUCCESS;
} else {
return ERROR;
}
}
protected String render(String text, String contentType) {
try {
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType(contentType);
response.getWriter().write(text);
} catch (IOException e) {
}
return null;
}
/**
* 直接输出字符串.
*/
protected String renderText(String text) {
return render(text, "text/plain;charset=UTF-8");
}
}
struts.xml
<action name="checkName" class="registerDelegate" method="checkName">
<result type="stream">
<param name="contentType">text/plain</param>
<param name="inputName">inputStream</param>
</result>
</action>
分享到:
相关推荐
《jQuery验证插件jQuery-validation-1.19.1详解》 jQuery-validation是Web开发中常用的客户端表单验证插件,其1.19.1版本的发布为开发者提供了更稳定和高效的服务。该压缩包“jquery-validation-1.19.1.zip”包含了...
《jQuery验证插件详解——基于jquery-validation-1.11.1.zip的探索》 jQuery作为一款广泛使用的JavaScript库,极大地简化了DOM操作,事件处理和动画制作等任务。而`jquery-validation`则是jQuery生态中的一款强大...
jQuery-validation是一个广泛使用的JavaScript库,专门用于实现网页表单的验证功能。这个插件使得开发者能够轻松地添加各种验证规则,提升用户体验,确保用户在提交表单前输入的数据符合预设的标准。它通过简单的API...
《jQuery-validation-1.14.0:前端验证利器详解》 jQuery-validation 是一个广泛使用的JavaScript库,专门用于实现前端表单验证。1.14.0版本在2015年9月13日发布,它提供了强大的功能,帮助开发者轻松地创建具有...
《jQuery Validation插件详解——基于jquery-validation-1.8.1实例分析》 在Web开发领域,表单验证是不可或缺的一环,它确保用户输入的数据符合预期格式,从而提高用户体验并减少服务器端处理的压力。jQuery ...
该插件有两个版本出现在压缩包中:`jquery-validation-1.17.0.zip`和`jquery-validation-1.14.0.zip`。这两个版本代表了插件的不同迭代,1.17.0是较新的版本,可能包含更多的优化和新特性,而1.14.0则是一个较旧但...
表单验证JQ插件jquery-validation.js
本篇文章将围绕"jquery-validation-1.8.0"这一版本进行详细介绍,并探讨其核心功能、使用方法以及常见应用场景。 一、jQuery Validation插件概述 jQuery Validation插件是基于jQuery库的一个扩展,它使得在网页中...
在这个例子中,文件名为"jQuery-Validation-Engine-master"。 2. **包含资源**:将下载的压缩包解压后,将`css`目录下的样式文件(如`validationEngine.jquery.css`)和`js`目录下的JavaScript文件(如`jquery....
**jQuery Validation 插件详解** jQuery Validation 插件是一款强大且灵活的JavaScript工具,它专为简化HTML表单验证而设计。这个插件基于广泛使用的jQuery库,使得在网页开发中实现用户输入验证变得轻而易举。其...
6. **无侵入式(Unobtrusive)**:提及的"jquery-validation-unobtrusive-master"可能指的是jQuery Validation的无侵入式版本,它与ASP.NET MVC框架结合使用,通过数据注解实现服务器端和客户端验证的一致性。...
**jQuery Validation插件详解** jQuery Validation插件是用于在网页表单验证中提供方便、强大的功能的工具。它简化了对用户输入数据的检查,确保数据的完整性和正确性,从而提高了用户体验。这个插件是基于jQuery库...
jQuery-validation是一个流行的JavaScript库,用于实现客户端表单验证。原生的jQuery-validation在验证失败时,其显示的信息可能并不直观或者不够友好,这可能会对用户的体验产生负面影响。因此,我们需要对其进行...
《jQuery 1.4.js与jQuery Validation Plugin的深入解析》 在Web开发中,JavaScript库jQuery以其简洁的语法和强大的功能赢得了广泛的认可。本篇将深入探讨jQuery 1.4.js版本及其与jQuery Validation Plugin的结合...
《jQuery Validation插件详解——基于版本1.17.0》 jQuery Validation是Web开发中一个广泛使用的JavaScript库,主要用于表单验证。该插件以其简单易用和强大的功能著称,大大简化了前端数据验证的过程。在本文中,...
**jQuery Validation 插件详解** jQuery Validation 是一个广泛使用的前端JavaScript库,专为简化HTML表单验证而设计。它提供了一套完整的功能,使开发者能够快速有效地实施表单验证,确保用户输入的数据满足预设的...
jQuery-validation 是一个非常流行的前端JavaScript库,用于在Web表单中进行验证。它极大地简化了对用户输入数据的检查和管理,确保了数据的完整性和安全性。这个插件基于jQuery框架,因此它与jQuery的API无缝集成,...
**jQuery Validation Plugin 1.15.0** jQuery Validation Plugin 是一个广泛使用的开源插件,用于在客户端进行表单验证,提高用户交互体验。版本1.15.0是该插件的一个稳定版本,提供了丰富的功能和改进。 **主要...