jsp div中调用function 15

我想在页面加载的时候调用functioncheck_quthority来判断是不是管理员,是的话页面左边加载菜单栏menu.jsp,否则加载menu1.jsp,我写了fu... 我想在页面加载的时候调用function check_quthority来判断是不是管理员,是的话页面左边加载菜单栏menu.jsp,否则加载menu1.jsp,我写了function如下:

页面中调用menu的div标签为:

不知道这么写function行不行??div里应该怎么调用这个function????
展开
 我来答
帐号已注销
2015-05-09 · TA获得超过4630个赞
知道大有可为答主
回答量:1345
采纳率:50%
帮助的人:1633万
展开全部

题主你是个逗比吗。。。


很多新手都搞不清楚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。

AcostaZK
推荐于2018-03-14 · Any code,any where
AcostaZK
采纳数:94 获赞数:2352

向TA提问 私信TA
展开全部
你的这代码怎么怪怪的,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>

个人倾向于第二种,但代码需要你自己调整,我这里没验证
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
千锋教育
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>
以上就是两种调用方式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
指尖点滴bV
2015-05-09 · TA获得超过626个赞
知道小有建树答主
回答量:1258
采纳率:71%
帮助的人:254万
展开全部
应该不写,可以用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>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式