先查看你的phpinfo()這個(gè)函數(shù)的輸出的內(nèi)容,看看支持了oci8沒(méi);如果沒(méi),就再配置一下。配置環(huán)境變量,把Oracle所在目錄的路徑寫入電腦環(huán)境變量中的PATh中去。如果支持了,就把Oracle客戶端下的oci.dll、ocaocci10.dll、craocr10.dll和orannzsbb10.dll復(fù)制到apache的bin目錄下,然后重啟apache看下行不。我是這么解決的,不知道你的行不行。(自己手寫的,也才接觸Oracle兩個(gè)星期,勿噴)
我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、榆陽(yáng)ssl等。為上千多家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的榆陽(yáng)網(wǎng)站制作公司
在頁(yè)面中 是 freemarker模板引擎,是后臺(tái)的模板語(yǔ)法,并不是jquery的寫法和語(yǔ)法。
由于項(xiàng)目用的是SSH框架,又用到了Freemarker模板頁(yè)面,數(shù)據(jù)庫(kù)是Mysql5.0,主要內(nèi)容如下所示:
1. 注冊(cè)頁(yè)面,用Freemarker所寫,這里使用了JQuery的一個(gè)表單驗(yàn)證框架formvalidator:
對(duì)前臺(tái)注冊(cè)頁(yè)面register.ftl進(jìn)行表單驗(yàn)證,當(dāng)符合基本驗(yàn)證規(guī)則后,再通過(guò)JQuery formvalidator Ajax將數(shù)據(jù)傳到action中。
register.ftl:
html
head
meta http-equiv=Content-Type content=text/html; charset=utf-8 /
title會(huì)員注冊(cè)/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代碼是,實(shí)時(shí)驗(yàn)證用戶名或注冊(cè)郵箱是否存在 --
script type=text/javascript
$(document).ready(function(){
$.formValidator.initConfig({formid:form1,onerror:function(msg){},onsuccess:function(){return true;}});
$(#username)
.formValidator({onshow:請(qǐng)輸入用戶名,onfocus:請(qǐng)您記住填寫的用戶名,以后登錄時(shí)需要用到!,oncorrect:該用戶名可以注 冊(cè)})
.inputValidator({min:4,max:15,onerror:用戶名長(zhǎng)度不能小于4個(gè)字符})
.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ù)器沒(méi)有返回?cái)?shù)據(jù),可能服務(wù)器忙,請(qǐng)重試);},
onerror : 該用戶名已經(jīng)存在,請(qǐng)更換用戶名,
onwait : 正在對(duì)用戶名進(jìn)行合法性校驗(yàn),請(qǐng)稍候…
});
$(#email)
.formValidator({onshow:請(qǐng)輸入郵箱,onfocus:郵箱6-100個(gè)字符,請(qǐng)正確輸入,oncorrect:恭喜你,郵箱可以注冊(cè),forcevalid:true})
.inputValidator({min:6,max:100,onerror:你輸入的郵箱長(zhǎng)度非法,請(qǐng)確認(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ù)器沒(méi)有返回?cái)?shù)據(jù),可能服務(wù)器忙,請(qǐng)重試);},
onerror : 該郵箱已經(jīng)存在,請(qǐng)更換郵箱,
onwait : 正在對(duì)郵箱進(jìn)行校驗(yàn),請(qǐng)稍候…
});
});
/script
/head
body
div id=passmain
div class=passbottom
div class=pbleftb
h3 style=text-align:center;新用戶注冊(cè)/h3
p class=p2t帶*號(hào)的項(xiàng)目為必選項(xiàng), 請(qǐng)全部填寫/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用戶注冊(cè)后,需要激活,才可以使用!激活碼只會(huì)發(fā)到您注冊(cè)郵箱中。/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為了您的帳戶安全,強(qiáng)烈建議您的密碼使用字符+數(shù)字+特殊字符方式,并且密碼長(zhǎng)度大于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輸入校驗(yàn)碼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校驗(yàn)碼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=注冊(cè)用戶 /
/li
/ul
/div
/@s.form
/div
/div
/body
/html
2.后臺(tái)Action類,UserAjaxAction.java:
基于Hibernate與數(shù)據(jù)庫(kù)進(jìn)行交互驗(yàn)證用戶名和郵箱是否存在,同時(shí)返回的數(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框架中增加對(duì)輸入框的驗(yàn)證,在設(shè)計(jì)頁(yè)面表單時(shí),常常因?yàn)樾枰獙懘罅康尿?yàn)證信息,還要寫復(fù)雜的正則表達(dá)式,現(xiàn)在這樣一個(gè)驗(yàn)證框架可以解決這樣的繁雜問(wèn)題。這樣jquery.validate.js就誕生了,jquery.validate.js是jquery旗下的一個(gè)驗(yàn)證框架,借助jquery的優(yōu)勢(shì),我們可以迅速驗(yàn)證一些常見的輸入,并且可以自己擴(kuò)充自己的驗(yàn)證方法,并且對(duì)國(guó)際化也有很好的支持 。
validate自帶的默認(rèn)驗(yàn)證
required: 必選字段,
remote: 請(qǐng)修正該字段,
email: 請(qǐng)輸入正確格式的電子郵件,
url: 請(qǐng)輸入合法的網(wǎng)址,
date: 請(qǐng)輸入合法的日期,
dateISO: 請(qǐng)輸入合法的日期 (ISO).,
number: 請(qǐng)輸入合法的數(shù)字,
digits: 只能輸入整數(shù),
creditcard: 請(qǐng)輸入合法的信用卡號(hào),
equalTo: 請(qǐng)?jiān)俅屋斎胂嗤闹?
accept: 請(qǐng)輸入擁有合法后綴名的字符串,
maxlength: jQuery.format(請(qǐng)輸入一個(gè)長(zhǎng)度最多是 {0} 的字符串),
minlength: jQuery.format(請(qǐng)輸入一個(gè)長(zhǎng)度最少是 {0} 的字符串),
rangelength: jQuery.format(請(qǐng)輸入一個(gè)長(zhǎng)度介于 {0} 和 {1} 之間的字符串),
range: jQuery.format(請(qǐng)輸入一個(gè)介于 {0} 和 {1} 之間的值),
max: jQuery.format(請(qǐng)輸入一個(gè)最大為 {0} 的值),
min: jQuery.format(請(qǐng)輸入一個(gè)最小為 {0} 的值)
你現(xiàn)在有兩個(gè)選擇
第一:把代碼貼出來(lái)
第二:我給你發(fā)個(gè)demo,你自己看看,比著改!
要看你用easyui的哪個(gè)組件了,一般官網(wǎng)上都有,我拿一個(gè)很簡(jiǎn)單的例子來(lái)說(shuō):
使用datagrid
table?class="easyui-datagrid"?style="width:400px;height:250px"
data-options="url:'datagrid_data.json',fitColumns:true,singleSelect:true"
……
/table
這里的data-options里有url的參數(shù),可以換為后臺(tái)url地址,而后臺(tái)只要返回一個(gè)符合要求的json格式的數(shù)據(jù)過(guò)來(lái)就可以了。這里的json格式可以看看官網(wǎng)里的要求格式。
還有一種方法是使用js來(lái)加載數(shù)據(jù):
頁(yè)面代碼比較簡(jiǎn)單:table id="dg"/table
js代碼這么寫:
$('#dg').datagrid({
url:'datagrid_data.json',
columns:[[
{field:'code',title:'Code',width:100},
{field:'name',title:'Name',width:100},
{field:'price',title:'Price',width:100,align:'right'}
]]
});
在url里寫好后臺(tái)url的路徑就可以了,后臺(tái)同樣是返回一個(gè)json給頁(yè)面。
再者,你想要提交數(shù)據(jù)給后臺(tái)?
那么我就說(shuō)一般情況,就是使用按鈕點(diǎn)擊提交
可以用form表單提交, action指定后臺(tái)確定的url,
要么你可以在js中,取得想要傳遞給后臺(tái)的數(shù)據(jù),寫一個(gè)$.post或者$.ajax等方法去將數(shù)據(jù)傳遞給后臺(tái)去處理。
這是ajax請(qǐng)求后臺(tái)的模板:
$.ajax({
type:?'post',
url:?'url',?//?this?is?the?url?for?backend?java?program
data:?{'data_post':?data_post},?//?the?data?you?want?to?post?to?backend.
success:?function(result){
alert('success');
}
})
你不需要保證,瀏覽器可以告訴你。
打開Chrome瀏覽器,F(xiàn)12喚出開發(fā)人員工具(這個(gè)比IE里的開發(fā)人員工具強(qiáng)百倍),點(diǎn)到Network下,確認(rèn)一下有沒(méi)有爆紅的css請(qǐng)求吧。(然后再給我反饋,進(jìn)行下一步推斷~)
文章題目:jquery后臺(tái)模板,前臺(tái)模板框架
新聞來(lái)源:http://chinadenli.net/article0/dsshjoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、用戶體驗(yàn)、響應(yīng)式網(wǎng)站、動(dòng)態(tài)網(wǎng)站、面包屑導(dǎo)航、移動(dòng)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)