在html中获取镶嵌的java代码变量的方法是通过js实现的。
java代码如下:
<%
String guser = (String)request.getSession().getAttribute("userInfo")从session中获取userInfo
pageContext.setAttribute("guser",guser)设置到request范围,guser接收
%>
js获取的方法如下:
<script language="javascript">
var gusername = "${guser}"通过el表达式获取request中的guser
</script>
采用ajax执行远程的PHP文件 然后返回到HTML页面上。function checkUserName(){
hiddenDiv(info_001)//隐藏提示
if(document.theform.Username.value.length>10||document.theform.Username.value.length<2)
{
err_001.style.display="block"
//document.theform.Username.focus()
return false
}else{
err_001.style.display="none"
var Username=theform.Username.value
//调用AJAX检查用户名是否重复
getMyHTML("CheckAjax.asp?action=Username&Str="+Username,"ajaxDiv_Username")
//window.alert(Username)
var obj = document.getElementById("ajaxDiv_Username")
if(obj.innerHTML.indexOf("可以")==-1)
{
//window.alert("Unamenotok")
return false
}else{
return true
}
}
}
<script language="javascript">
//创建XMLHttpRequest对象
function getMyHTML(serverPage, objID) {
//window.alert(serverPage)
var ajax = GetO()
//得到了一个html元素,在下面给这个元素的属性赋值
var obj = document.all[objID]
//设置请求方法及目标,并且设置为异步提交
ajax.open("post", serverPage, true)
ajax.onreadystatechange = function()
{
if (ajax.readyState == 4 &&ajax.status == 200)
{
//innerHTML是HTML元素的属性,如果您不理解属性那就理解为HTML元素的变量
//ajax.responseText是服务器的返回值,把值赋给id=passport1的元素的属性
//innerHTML这个属性或说这个变量表示一组开始标记和结束标记之间的内容
obj.innerHTML = ajax.responseText
}
}
//发送请求
ajax.send(null)
}
function GetO()
{
var ajax=false
try{
ajax = new ActiveXObject("Msxml2.XMLHTTP")
}catch (e){
try{
ajax = new ActiveXObject("Microsoft.XMLHTTP")
}catch (E){
ajax = false
}
}
if (!ajax &&typeof XMLHttpRequest!='undefined')
{
ajax = new XMLHttpRequest()
}
return ajax
}
</script>
你在后台处理页面CheckAjax.asp,验证的时候。如果可以注册,就输出一个字符包含“可以”的字符串,不可以的,就不包含“可以”字符串
if(obj.innerHTML.indexOf("可以")==-1)
{
//window.alert("Unamenotok")
return false
}else{
return true
}
代码中这一段就是在做判断。