为了账号安全,请及时绑定邮箱和手机立即绑定

jsp div中调用function ?

jsp div中调用function ?

烙印99 2019-02-12 11:07:55
我想在页面加载的时候调用function check_quthority来判断是不是管理员,是的话页面左边加载菜单栏menu.jsp,否则加载menu1.jsp,我写了function如下:页面中调用menu的div标签为:不知道这么写function行不行??div里应该怎么调用这个function???? 
查看完整描述

3 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

很多新手都搞不清楚js和jsp或者其它后台语言的关系,很容易就写出来这种js与jsp混合的代码。要弄清楚的是,所有呈现给用户看的,都是html代码,没有任何jsp代码。


那么我们写的jsp代码有什么用呢?其实这些后台语言的作用是控制显示什么html代码给用户看,也就是说,jsp代码的执行环境是服务器端,而不是在用户看到的时候再去判断。


以你这个代码为例,用户看到的只会是:

12345if(true){    menu.jsp的全部内容}else{    menu2.jsp的全部内容}

如果题主注意在测试的时候查看页面源代码,就会发现问题所在。这根本就是有语法错误的!


jsp:include动作早就在服务器端完成了,前面js怎么调用都不会改变,而且这种引入完全是错误的!


那么怎么办?实际上这完全可以在服务器端就给用户准备好数据啊!你应该这么做:

12345<% 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。



查看完整回答
反对 回复 2019-03-25
  • 3 回答
  • 0 关注
  • 2124 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信