國產(chǎn)jQuery UI框架 (jUI)?DWZDWZ富客戶端框架(jQuery RIA framework), 是中國人自己開發(fā)的基于jQuery實現(xiàn)的Ajax RIA開源框架. 設(shè)計目標(biāo)是簡單實用,快速開發(fā),降低ajax開發(fā)成本。 歡迎大家提出建議,我們將在下一版本中進(jìn)一步調(diào)整和完善功能.共同推進(jìn)國內(nèi)整體ajax開發(fā)水平。
代縣網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項目制作,到程序開發(fā),運營維護(hù)。創(chuàng)新互聯(lián)公司成立與2013年到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。
2.jQuery的界面插件?Ninja UI
jQuery 是一個非常優(yōu)秀的 JavaScript 框架,而且還有相當(dāng)多的插件。其中的一些UI插件也相當(dāng)?shù)慕o力,比如 Ninja UI,是一款界面插件,使用它將能給你的項目增色不少。此插件包含有幻燈,智能提示等常見的效果。
3.jQuery的UI框架?Chico UI
和 jQuery UI 一樣,Chico UI 包含 auto-complete, blink, carousel, countdown, date-picker, dropdown, expand, calendar 等諸多逐漸,同時還提供一個 CSS 布局框架,用于實現(xiàn)網(wǎng)頁布局和表格。
4.jQuery UI 組件庫?PrimeUI
PrimeUI 是 PrimeFaces 團隊的一個 jQuery UI 組件庫,目前包含多個 UI 部件
5.Jquery的UI庫?w2ui
基于Jquery的UI庫,包含常用UI組件,如:布局、表格、樹形、Tabs、工具條、彈出菜單、表單等等。
采用Html5 + CSS3編寫,可以支持常用的瀏覽器,如:Chrome、FireFox7+、Safari 5+和IE 9+等。
6.jQuery UI組件?jQuery UI
jQueryUI 是一套 jQuery 的頁面 UI 插件,包含很多種常用的頁面空間,例如 Tabs(如本站首頁右上角部分) 、拉簾效果(本站首頁左上角)、對話框、拖放效果、日期選擇、顏色選擇、數(shù)據(jù)排序、窗體大小調(diào)整等等非常多的內(nèi)容。
7.jQuery的UI工具包?jQuery Tools
jQuery easyui 為網(wǎng)頁開發(fā)提供了一堆的常用UI組件,包括菜單、對話框、布局、窗簾、表格、表單等等組件,
8.jQuery的UI框架?Liger UI
LigerUI是基于jQuery開發(fā)的一系列控件組,包括表單、布局、表格等等常用UI控件 使用LigerUI可以快速創(chuàng)建風(fēng)格統(tǒng)一的界面效果
9.快速開發(fā)WebUI?jQuery MiniUI
jQuery MiniUI - 快速開發(fā)WebUI。
包含控件:DataGrid、Tree、TreeGrid、Menu、Toolbar、Tabs、Layout、Panel、DatePicker、ComboBox、TreeSelect、TextBoxList等。
典型應(yīng)用:頁面布局、CRUD、Master/Detail、數(shù)據(jù)驗證等。
10.jQuery的UI插件?Smart UI
JQuery Smart UI是基于JQuery的Ajax開發(fā)框架,實現(xiàn)前、后臺分離、功能和數(shù)據(jù)分離,UI層全部使用htm+js+json完成,通過一個統(tǒng)一數(shù)據(jù)接口與服務(wù)端進(jìn)行數(shù)據(jù)交換。
由于項目用的是SSH框架,又用到了Freemarker模板頁面,數(shù)據(jù)庫是Mysql5.0,主要內(nèi)容如下所示:
1. 注冊頁面,用Freemarker所寫,這里使用了JQuery的一個表單驗證框架formvalidator:
對前臺注冊頁面register.ftl進(jìn)行表單驗證,當(dāng)符合基本驗證規(guī)則后,再通過JQuery formvalidator Ajax將數(shù)據(jù)傳到action中。
register.ftl:
html
head
meta http-equiv=Content-Type content=text/html; charset=utf-8 /
title會員注冊/title
link href=${base}/forum/css/pass.css rel=stylesheet type=text/css
link href=${base}/css/validator.css rel=stylesheet type=text/css/
script type=text/javascript src=@s.url value='/js/showError.js'//script
script type=text/javascript src=@s.url value='/js/jquery-1.3.2.min.js'//script
script type=text/javascript src=${base}/js/formValidator.js charset=UTF-8/script
script type=text/javascript src=${base}/js/formValidatorRegex.js charset=UTF-8/script
!—下面的JS代碼是,實時驗證用戶名或注冊郵箱是否存在 --
script type=text/javascript
$(document).ready(function(){
$.formValidator.initConfig({formid:form1,onerror:function(msg){},onsuccess:function(){return true;}});
$(#username)
.formValidator({onshow:請輸入用戶名,onfocus:請您記住填寫的用戶名,以后登錄時需要用到!,oncorrect:該用戶名可以注 冊})
.inputValidator({min:4,max:15,onerror:用戶名長度不能小于4個字符})
.ajaxValidator({
type : get,
datatype: json,
data: username:+$(#username).val(),
url : ${base}/user/ajax/userCheck!checkUser.action,
success : function(data){if(data.userExist){return false;}else{return true;}},
buttons: $(#button),
error: function(){alert(服務(wù)器沒有返回數(shù)據(jù),可能服務(wù)器忙,請重試);},
onerror : 該用戶名已經(jīng)存在,請更換用戶名,
onwait : 正在對用戶名進(jìn)行合法性校驗,請稍候…
});
$(#email)
.formValidator({onshow:請輸入郵箱,onfocus:郵箱6-100個字符,請正確輸入,oncorrect:恭喜你,郵箱可以注冊,forcevalid:true})
.inputValidator({min:6,max:100,onerror:你輸入的郵箱長度非法,請確認(rèn)})
.regexValidator({regexp:^([\\w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([\\w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$,onerror:你輸入的郵箱格式不正確})
.ajaxValidator({
type : get,
datatype: json,
data: email:+$(#email).val(),
url : ${base}/user/ajax/userCheck!checkUser.action,
success : function(data){if(data.emailExist){return false;}else{return true;}},
buttons: $(#button),
error: function(){alert(服務(wù)器沒有返回數(shù)據(jù),可能服務(wù)器忙,請重試);},
onerror : 該郵箱已經(jīng)存在,請更換郵箱,
onwait : 正在對郵箱進(jìn)行校驗,請稍候…
});
});
/script
/head
body
div id=passmain
div class=passbottom
div class=pbleftb
h3 style=text-align:center;新用戶注冊/h3
p class=p2t帶*號的項目為必選項, 請全部填寫/p
ul class=p2ul
@s.form action=register method=POST theme=simple id=form1 name=form1
@s.token name=token/
li class=p2li
div class=p2left用戶登錄昵稱span style=color:#FF0000;* /span/div
div class=p2right@s.textfield name=user.username id=username class=item_input size=30 maxlenght=20 required=true onblur=checkUser(); /
/div
div class=p2centerdiv id=usernameTip/
/div
/libr
li class=p2li
div class=p2left性別span style=color:#FF0000;* /span/div
div class=p2right@s.radio
name=user.gender
list={action.getText('user.gender.male'):action.getText(user.gender.male),action.getText('user.gender.female'):action.getText(user.gender.female)}
size=30//div
/libr
li class=p1t注意:郵箱必須是可以收到程序員之家激活碼的。/li
li class=p1t用戶注冊后,需要激活,才可以使用!激活碼只會發(fā)到您注冊郵箱中。/li
li class=p2li
div class=p2leftEmail地址span style=color:#FF0000;* /span/div
div class=p2right@s.textfield name=user.email id=email class=item_input size=30 onblur=checkEmali(); required=true/
/div
div class=p2centerdiv id=emailTip/div/div
/libr
li class=p1t5-20位字母、數(shù)字或字符組合,首字母必須為字母。/li
li class=p1t為了您的帳戶安全,強烈建議您的密碼使用字符+數(shù)字+特殊字符方式,并且密碼長度大于8位。/li
li class=p2li
div class=p2left密碼span style=color:#FF0000;* /span/div
div class=p2right
@s.password name=user.password id=userPassword class=item_input size=30 maxlength=16 onblur=checkPassword(); required=true/
/div
div class=p2centerdiv id=divHintPassword style=display:none;/div
/div
/libr
li class=p2li
div class=p2left重復(fù)輸入密碼span style=color:#FF0000;* /span/div
div class=p2right@s.password name=verifyPassword id=verifyPassword class=item_input size=30 maxlength=16 onblur=validatePassword(); required=true//div
div class=p2center
div id=divHintverifyPassword style=display:none;/div
/div
/libr
br
li class=p2li
div class=p2left輸入校驗碼span style=color:#FF0000;*/span /div
div class=p2right@s.textfield name=validationCode class=item_input size=10 required=true/
/div
/li
li class=p2li
div class=p2left校驗碼span style=color:#FF0000;*/span /div
div class=p2rightimg src=@s.url value='/vcode.jpg'/ align='absmiddle' border='0'//div
/li
li class=p1tinput name=提交 type=submit value=注冊用戶 /
/li
/ul
/div
/@s.form
/div
/div
/body
/html
2.后臺Action類,UserAjaxAction.java:
基于Hibernate與數(shù)據(jù)庫進(jìn)行交互驗證用戶名和郵箱是否存在,同時返回的數(shù)據(jù)格式為JSon類型的。
package com.qiuyanluocheng.action;
import IO.IOException;
import com.googlecode.jsonplugin.annotations.JSON;
/**
*
* @author qiuyanluocheng
*
*/
public class UserAjaxAction extends BaseAction
{
/**
* BaseAction是自己封裝的
*/
private static final long serialVersionUID = 1L;
private String username;// 用戶名
private String email;// 郵箱
private boolean userExist;
private boolean emailExist;
// 表示返回的Json數(shù)據(jù)中不含此屬性
@JSON(serialize=false)
public String getUsername()
{
return username;
}
public void setUsername(String username)
{
this.username = username;
}
public String getEmail()
{
return email;
}
public void setEmail(String email)
{
this.email = email;
}
public boolean isUserExist()
{
return userExist;
}
public void setUserExist(boolean userExist)
{
this.userExist = userExist;
}
public boolean isEmailExist()
{
return emailExist;
}
public void setEmailExist(boolean emailExist)
{
this.emailExist = emailExist;
}
// 檢查用戶是否存在
public String checkUser() throws IOException
{
if(username != null){
if(this.getUserService().isUsernameExist(username)){
// System.out.println(用戶存在!?。。?!+username);
userExist = true;
}else{
// System.out.println(用戶不存在?。。。?!+username);
userExist = false;
}
}
if(email != null){
if(this.getUserService().isEmailExist(email)){
// System.out.println(郵箱存在?。。。。?email);
emailExist = true;
}else{
// System.out.println(郵箱不存在?。。。。?email);
emailExist = false;
}
}
return ajax;
}
}
注意需要導(dǎo)入jsonplugin-0.34.jar包。
3. 配置文件struts.xml:
配置action,并且注意package要繼承json-default包,且結(jié)果集類型為json。
?xml version=1.0 encoding=utf-8?
!DOCTYPE struts PUBLIC -//Apache Software Foundation//DTD Struts Configuration 2.0//EN dtds/struts-2.0.dtd
struts
package name=userAjax extends=json-default namespace=/user/ajax
action name=userCheck class=com.qiuyanluocheng.action.UserAjaxAction
!—返回結(jié)果類型必須為json --
result name=ajax type=json/result
/action
/package
/struts
jQuery框架中增加對輸入框的驗證,在設(shè)計頁面表單時,常常因為需要寫大量的驗證信息,還要寫復(fù)雜的正則表達(dá)式,現(xiàn)在這樣一個驗證框架可以解決這樣的繁雜問題。這樣jquery.validate.js就誕生了,jquery.validate.js是jquery旗下的一個驗證框架,借助jquery的優(yōu)勢,我們可以迅速驗證一些常見的輸入,并且可以自己擴充自己的驗證方法,并且對國際化也有很好的支持 。
validate自帶的默認(rèn)驗證
required: 必選字段,
remote: 請修正該字段,
email: 請輸入正確格式的電子郵件,
url: 請輸入合法的網(wǎng)址,
date: 請輸入合法的日期,
dateISO: 請輸入合法的日期 (ISO).,
number: 請輸入合法的數(shù)字,
digits: 只能輸入整數(shù),
creditcard: 請輸入合法的信用卡號,
equalTo: 請再次輸入相同的值,
accept: 請輸入擁有合法后綴名的字符串,
maxlength: jQuery.format(請輸入一個長度最多是 {0} 的字符串),
minlength: jQuery.format(請輸入一個長度最少是 {0} 的字符串),
rangelength: jQuery.format(請輸入一個長度介于 {0} 和 {1} 之間的字符串),
range: jQuery.format(請輸入一個介于 {0} 和 {1} 之間的值),
max: jQuery.format(請輸入一個最大為 {0} 的值),
min: jQuery.format(請輸入一個最小為 {0} 的值)
:很直白的說,其實js框架就是對js代碼一層封裝,提供了一些教常用的方法。 如jquery,就是用js代碼自己寫了很多函數(shù),放到j(luò)query.js文件中,作為一個js的函數(shù)庫。別人可以直接引用這個js文件,然后用里面的js方法完成常用的操作。
是一個前端框架
jQuery是一個框架,在學(xué)jQuery之前可以先思考一個問題:如何去理解框架?
其實框架的本質(zhì)從某種意義上來說就是代碼的封裝。
對于使用者來說只需要調(diào)用框架里的方法或?qū)傩詫崿F(xiàn)某種功能即可。
至于具體是如何實現(xiàn)的?使用者不用管,框架里面會實現(xiàn)。
所以一般情況下,框架編寫的越復(fù)雜,其使用也就越簡單。