1. 程式人生 > >mybatis學習-入門(6)-實際例子,輸入使用者註冊,並在離開使用者名稱輸入框時檢查使用者是否存在

mybatis學習-入門(6)-實際例子,輸入使用者註冊,並在離開使用者名稱輸入框時檢查使用者是否存在

我們使用bootstrap+mybatis+spring展示一個實際示例: 輸入使用者註冊,並在離開使用者名稱輸入框時檢查使用者是否存在.


輸入使用者名稱,當焦點離開使用者名稱輸入框,檢查輸入的使用者名稱是否存在。不存在,則打對號,否則打叉號。




輸入有效的使用者名稱密碼後,點選提交,則建立使用者。

例子做的比較簡單,spring mvc的controller 和jsp頁面還有很多需要完善的,比如對輸入資料的校驗等等,只是為了說明整個mybatis+spring+jquery的處理流程。

首先:

我們需要在server端建立mybatis的對映檔案和介面(相當與DAO),這個在前面的例子中都有了;我們還需要建立一個usercontroller,能夠處理頁面請求,驗證使用者名稱是否存在和新增使用者等。controller程式碼如下:

package controller;

import model.baiuser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import dao.baiuserMapper;
@Controller
@RequestMapping("/background/user/")
public class UserController {
	@Autowired
	baiuserMapper userDao;
	
	@RequestMapping("toAddUserPage")
	public String toAddPage(Model model ) {
		return "/addUser";
	}
	
	@RequestMapping("add")
	public ModelAndView add( baiuser user) {
		userDao.insert(user);
		ModelAndView mav = new ModelAndView();
		mav.setViewName("/index");
		mav.addObject("addeduser", user);
		return mav;
	}	
	
	@RequestMapping("check_user_exist")
	public @ResponseBody String checkuserexist(String username){		
		if(userDao.selectByUsername(username) !=null){
			return "USER ALREADY EXIST";			
		}		
		return "OK";
	}	
}

那麼在前臺,我們需要有jsp頁面與controller互動。

body部分程式碼如下:

<body>
    <div class="container">
    <div class="hero-unit">
    <form action="${pageContext.servletContext.contextPath }/background/user/add.html">
      <div >
      <label  for="inputInfo">Input UserName</label>
      	<div id="user_check_div">
        	<input type="text" name="USERNAME"  id="checkname">      
      	</div>
      </div>
      <div>
      <label  for="inputInfo">Input UserPass</label>
      	<div >
        	<input type="text" name="PASSWORD" id="PASSWORD">      
      	</div>
      </div>      
  		<div >
    		<div >
      		 <button type="submit" class="btn">Register</button>
    	     </div>
  	    </div>   	
    </form>
   
    </div><!-- end of hero-unit -->
    </div><!-- end of contrainer -->
 

然後再寫一段java script程式碼,實現互動:
	<script type="text/javascript">
	$(function(){
		var str_checkname ="";
		$("#checkname").blur(
		    function(){
		    //start if
		    if($("#checkname").val()!=""&&$("#checkname").val()!=str_checkname){
		    //記錄上次填入的值
		    str_checkname = 	$("#checkname").val() ;
			$.ajax({
				type              : "POST",
		    	url                 : "${pageContext.servletContext.contextPath}/background/user/check_user_exist.html",
		    	data              :  {'username':$("#checkname").val()},
		    	success         :  function(data){
		    		                 //$("#ta1").val(data);
		    		                 if(data=="OK"){
		    		                	$('#check_ok').remove();
		    		                	$('#check_false').remove();
		    		                	$('#user_check_div').append("<i class=\"icon-ok-sign icon-2x\"  id=\"check_ok\" style=\"color:#6699CC\"></i>");
		    		                 }else{
			    		                $('#check_ok').remove();
			    		                $('#check_false').remove();		    		                	 
		    		                	$('#user_check_div').append("<i class=\"icon-remove-sign icon-2x\" id=\"check_false\" style=\"color:#CC6666\"></i>"); 
		    		                 }
		                    }
		    	});
		    }	//end if
		}); //end button2 click
	});
	

	</script>


當然,例子中使用了jquery、bootstrap和Font-Awesome,所以要引用相關的css和js檔案。

這樣整個就完成了。

注意,javascript程式碼一定要在jquery等等的js之後,否則不能成功執行。因為如果參考bootstrap的例子,css檔案都是在head部分載入的,而js都是在body部分的最後面載入,並且裡面有個註釋,說明這樣做是為了加快頁面載入速度。所以,我們的javascript程式碼一定要在,類似:

  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

  <!-- <script type="text/javascript" src="WEB-LIB/bsie/js/jquery-1.7.2.min.js"></script> -->
  <script type="text/javascript" src="WEB-LIB/bsie/bootstrap/js/bootstrap.js"></script>
  <!--[if lte IE 6]>
  <script type="text/javascript" src="WEB-LIB/bsie/js/bootstrap-ie.js"></script>
  <![endif]-->

的後面。

相關推薦

mybatis學習-入門6-實際例子輸入使用者註冊離開使用者名稱輸入檢查使用者是否存在

我們使用bootstrap+mybatis+spring展示一個實際示例: 輸入使用者註冊,並在離開使用者名稱輸入框時檢查使用者是否存在. 輸入使用者名稱,當焦點離開使用者名稱輸入框,檢查輸入的使用者名稱是否存在。不存在,則打對號,否則打叉號。 輸入有效的使用者名

Python 學習入門6—— 網頁爬蟲

                Python抓取網頁方法,任務是批量下載網站上的檔案。對於一個剛剛入門python的人來說,在很多細節上都有需要注意的地方,以下就分享一下在初學python過程中遇到的問題及解決方法。1、Python抓取網頁import urllib,urllib2url = "http://

Windows學習總結6——MindManager新手入門教程

MindManager是一款創造、管理和交流思想的思維導圖軟體,其直觀清晰的視覺化介面和強大的功能可以快速捕捉、組織和共享思維、想法、資源和專案程序等等。專為新手使用者設計,包含建立思維導圖基本入門操作,讓使用者快速上手。 MindManager思維導圖主要由中心主題、主題、子主題、附註主題、浮動主題、

Mybatis學習筆記--入門程式

1.下載Mybatis包 mybaits的程式碼由github.com管理 下載地址:https://github.com/mybatis/mybatis-3/releases 選擇對應的版本下載 下載後解壓mybatis後 2.環境搭建 2.1 建立工程

myBatis學習筆記1——快速入門

在專案中使用myBatis 匯入jar包 在src下建立配置檔案 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis

MyBatis 學習總結——MyBatis 簡單介紹及快速入門

MyBatis 簡單介紹及快速入門 簡單介紹 MyBatis是支援普通SQL查詢,儲存過程和高階對映的優秀持久層框架。MyBatis消除了幾乎所有的JDBC程式碼和引數的手工設定以及對結果集的檢索封裝。MyBatis可以使用簡單的XML或註解用於配置

Mybatis快速入門——Mybatis學習總結

一.Mybatis介紹 MyBatis 本是apache的一個開源專案iBatis, 2013年11月遷移到Github。 MyBatis是一個優秀的持久層框架,它對jdbc的操作資料庫的過程進行封裝,使開發者只需要關注 SQL 本身。 Mybatis

maven入門6maven的生命周期

人員 資源文件 清理 生成 單元測試框架 initial site 代碼 init 1. 三套生命周期 Maven擁有三套相互獨立的生命周期,它們分別為clean,default和site。 每個生命周期包含一些階段,這些階段是有順序的,並且後面的階段依賴於前面的階

Java入門——6集合

最值 二分 集合框架 except 索引 string 類名 素數 blog 關鍵詞:Collection接口、Map接口、Iterator接口、泛型、Collections工具類、Arrays工具類 一、集合概述 當數據多了需要存儲,需要容器,而數據

myBatis學習筆記10——使用攔截器實現分頁查詢

條件 iba execute rri itl alias property gen func 1. Page package com.sm.model; import java.util.List; public class Page<T&g

Tomcat學習總結6——Tomca常用配置詳解

mar evel 代碼段 between 取消 新建 unp -h tom 註:Tomcat 8需要JRE7以上的JRE 1. Tomcat環境變量設置 1.1 Java環境變量設置 右鍵計算機—屬性—高級系統設置—環境變量,在”系統環境變量”,設置如下三個變量(如果變量已

ASP.NET學習筆記6——jQuery的Ajax基本操作

stat password ash page serve () c# content scrip 說明(2017-11-5 15:49:29): 1. jQuery裏封裝了三個方法,$.get,$.post和$.ajax,其中$.ajax是返回原生的XMLHttpReque

Linux第二周學習筆記6

font anaconda 如果 使用 oot zhong 提示 就是 bsp Linux第二周學習筆記(6)2.12.MV命令mv命令:用來對文件或目錄重新命名,或者將文件從一個目錄移到另一個目錄中。------------------------------------

TensorFlow學習筆記6讀取數據

官網 com 記錄 mat target 項目 AD 包含 技術 Overview 之前幾次推送的全部例程,使用的都是tensorflow預處理過的數據集,直接載入即可。例如: 然而實際中我們使用的通常不會是這種超級經典的數據集,如果我們有一組圖像存儲在磁盤上

python學習筆記6--循環語句

start 循環語句 odi 語句 python學習 col end body AR 循環語句如下: for i in range(start, end): //註意 前閉後開 coding for i in 列表名: coding while 條

java 入門6--面向對象初探

普通 不同的 pre 還需要 設定 隱藏 code [] 內部數據 類與對象 面向對象的想法是模擬現實世界。 把某樣東西的狀態數據和它的行為封裝起來,從而達到易用、重用、隱藏內部狀態的目的。 一般的變量,如: int a, double b 等, 我們定義它之後,它就是一個

Yii框架學習入門1--YII的MVC概念及邏輯解析

YII的MVC概念及邏輯解析1、這裏是win10安裝的是Yii2.0,中文社區:http://www.yiichina.com/ 。2、先了解安裝方法:服務器用的是wamp,將Yii2.0高級版解壓文件放入www目錄,將php加入全局命令(右擊【計算機】-【屬性】-【高級系統設置】然後在系統屬性裏選擇【高級】

筆記50 Mybatis快速入門

play ati driver 多個 目錄 自動 name 定制化 png 一、Mybatis簡介   MyBatis 是一款優秀的持久層框架,它支持定制化 SQL、存儲過程以及高級映射。MyBatis 避免了幾乎所有的 JDBC 代碼和手動設置參數以及獲取結果集。MyBa

Mybatis學習系列Mapper映射文件

tst 轉換 tin 是個 sql註入 eas 屬性。 object spl Mapper映射文件,作用是用來配置SQL映射語句,根據不同的SQL語句性質,使用不同的標簽,mapper文件中常用的標簽有<iselect>、<insert>、<

Mybatis學習系列機制

emca value 不存在 memcach except input jedis 寫入 on() Mybatis緩存介紹 MyBatis提供一級緩存和二級緩存機制。 一級緩存是Sqlsession級別的緩存,Sqlsession類的實例對象中有一個hashmap用於緩