jsp div中调用function 15
我想在页面加载的时候调用functioncheck_quthority来判断是不是管理员,是的话页面左边加载菜单栏menu.jsp,否则加载menu1.jsp,我写了fu...
我想在页面加载的时候调用function check_quthority来判断是不是管理员,是的话页面左边加载菜单栏menu.jsp,否则加载menu1.jsp,我写了function如下:
页面中调用menu的div标签为:
不知道这么写function行不行??div里应该怎么调用这个function???? 展开
页面中调用menu的div标签为:
不知道这么写function行不行??div里应该怎么调用这个function???? 展开
4个回答
展开全部
题主你是个逗比吗。。。
很多新手都搞不清楚js和jsp或者其它后台语言的关系,很容易就写出来这种js与jsp混合的代码。要弄清楚的是,所有呈现给用户看的,都是html代码,没有任何jsp代码。
那么我们写的jsp代码有什么用呢?其实这些后台语言的作用是控制显示什么html代码给用户看,也就是说,jsp代码的执行环境是服务器端,而不是在用户看到的时候再去判断。
以你这个代码为例,用户看到的只会是:
if(true){
menu.jsp的全部内容
}else{
menu2.jsp的全部内容
}
如果题主注意在测试的时候查看页面源代码,就会发现问题所在。这根本就是有语法错误的!
jsp:include动作早就在服务器端完成了,前面js怎么调用都不会改变,而且这种引入完全是错误的!
那么怎么办?实际上这完全可以在服务器端就给用户准备好数据啊!你应该这么做:
<% if(session.getValue("userName").equals("admin")){%>
<jsp:include page="../common/menu.jsp"></jsp:include>
<%}else{%>
<jsp:include page="../common/menu2.jsp"></jsp:include>
<%}%>
这样的话,根本不需要这个check_authority的js函数。
另外一个问题需要题主自己去验证下,session.getValue("userName")返回的真的是String类型的数据吗?如果不是的话,equals方法的结果会永远为false的,因为equals的实现是,如果两个数据的类型不一致,就直接返回false。
展开全部
你的这代码怎么怪怪的,JavaScript里面嵌套JSP代码啊?!
两种写法:
一、JS
var a = '<%=session.getValue("userName")%>';
window.onload = function check_authority() {
var src = "menu.jsp";
if(a != "admin") src = "menu2.jsp";
document.getElementById("menuFrame").src = "../common/" + src;
}
<div class="page-container row-fluid">
<!-- 菜单 -->
<iframe id="menuFrame" height="100%" width="100%"></iframe>
</div>
二、JSP
<div class="page-container row-fluid">
<!-- 菜单 -->
<%
String uName = session.getValue("userName").toString();
String url = "../common/"
if(uName.equals("admin")
url += "menu.jsp";
else
url += "menu1.jsp";
%>
<jsp:include page="<%=src %>"></jsp:include>
</div>
个人倾向于第二种,但代码需要你自己调整,我这里没验证
两种写法:
一、JS
var a = '<%=session.getValue("userName")%>';
window.onload = function check_authority() {
var src = "menu.jsp";
if(a != "admin") src = "menu2.jsp";
document.getElementById("menuFrame").src = "../common/" + src;
}
<div class="page-container row-fluid">
<!-- 菜单 -->
<iframe id="menuFrame" height="100%" width="100%"></iframe>
</div>
二、JSP
<div class="page-container row-fluid">
<!-- 菜单 -->
<%
String uName = session.getValue("userName").toString();
String url = "../common/"
if(uName.equals("admin")
url += "menu.jsp";
else
url += "menu1.jsp";
%>
<jsp:include page="<%=src %>"></jsp:include>
</div>
个人倾向于第二种,但代码需要你自己调整,我这里没验证
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-12-14 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
jsp中通过在div中写onclick事件来调用js的方法:
假如你页面的js有定义过setValue();这样的函数
如果你div那里衔接需要
<a href = "javascript:setValue();"></a>
如果是鼠标移上去的 就是 " onmuseover = javascript:xxx()"
鼠标移走 就是 " onmuseout = javascript:xxx()"
当然也可以在div里面加入
<script>
js代码
</script>
以上就是两种调用方式
假如你页面的js有定义过setValue();这样的函数
如果你div那里衔接需要
<a href = "javascript:setValue();"></a>
如果是鼠标移上去的 就是 " onmuseover = javascript:xxx()"
鼠标移走 就是 " onmuseout = javascript:xxx()"
当然也可以在div里面加入
<script>
js代码
</script>
以上就是两种调用方式
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该不写,可以用iframe标签
追问
具体的代码??应该写在哪??
谢谢了
追答
<script type="text/javascript">
window.onload=function(){
document.getElementById("aa").src="index.jsp";
}
</script>
<body>
<iframe id="aa" height="400px;" width="400px;" scrolling="auto" name="aa" src="">
</iframe>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询