我可以根据使用的链接执行某些划线吗?
<b><pre>
<a href="javascript:Admin()">New Admin Here</A>
<a href="javascript:User()">New User Here</A>
<script language="javascript">
function Admin(){
window.alert("In Admin");
<%
System.out.println("In admin");
session.setAttribute("rrole","Admin");
response.sendRedirect("Register.jsp");
%>
};
function User(){
alert("In User");
<%
System.out.println("In User");
session.setAttribute("rrole","User");
response.sendRedirect("Register.jsp");
%>
};
</script>
</b></pre>
当我执行上面的代码时....所有的scriplet都会被执行,无论我点击链接
答案 0 :(得分:1)
简短回答:不,你不能。 Javascript是在执行服务器响应后“呈现”的客户端代码。 以下是您在浏览器上的内容:
<b><pre>
<a href="javascript:Admin()">New Admin Here</A>
<a href="javascript:User()">New User Here</A>
<script language="javascript">
function Admin(){
window.alert("In Admin");
};
function User(){
alert("In User");
};
</script>
</b></pre>
并且,在获得对浏览器的响应之前,在服务器控制台上,您将获得:
In admin
In User
rrole
会话属性将具有User
值,因为它是最后一个值。
如果您想根据点击的内容在服务器控制台上输出内容,您应该向服务器触发另一个请求“告知”用户点击的内容。
答案 1 :(得分:0)
I Understood your problem, you can try below method to get the session value at other page or jsp or servlet:
function func1(Req_status)
{
var xmlHttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("Div1").innerHTML=xmlhttp.responseText;
}
}
var Empl_id= document.upld_frm.empid.value;
var url="FindRequestStatus";//"ak2.jsp"
//in above servlet or jsp or any page can be called
url=url+"?"+"&em="+Empl_id+"&r_s="+Req_status;
//alert(url); In above line session values are being sent on called page..
xmlhttp.open("GET",url,true);
xmlhttp.send();
}
Just create a div inside body named Div1 and click hyperlink inside the div. Here you go.. you will get desired value returned by that page body results.
Regards,
AK