js为什么取不到jsp中的变量的值?

赵举飞 2016-02-19 03:46:19
jsp中经常会写上这样的代码。

<%
String basePath = request.getContextPath() + "/";
%>


页面引用其他资源(js,css等)时也会用这个拼接路径,例如

<script type="text/javascript" src="<%=basePath%>resources/js/jquery.js"></script>


在页面上的head里js的function请求某个路径的时候也会用到,还是可以的。

现在我把这个function移到外部js里,就不行了,搞的只能弄个隐藏域专门 存一下 这个变量,然后取隐藏域的值,
像这样

<input type="hidden" id ="XXX" name="XXX" value="<%=basePath %>"/>

...全文
305 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
sole.mjc 2018-05-02
引用 3 楼 u014525478 的回复:
给变量一个id 然后 $("#id").val();
我的就是这样,获取页面中laydate的时间值,但是没有值。
回复
丰云 2016-02-23
引用 4 楼 flyfeifei66 的回复:
[quote=引用 1 楼 foren_whb 的回复:] 不是不行,是要看情况,如果想在js环境里动态取,那是做不到的,如果是跟随页面刷新的,是可以的, 比如: 字符串: var testVal = “<%=basePath %>”; 数字: var testVal = <%=basePath %>; 这样是行得通的。 说来说去,还是要了解动态网页的工作原理以及js的本质
没明白[/quote] 其实很好理解,你不是在head里是可以的吗? 那就在head里用一个js全局变量把需要用的值保存起来。 然后外部js方法里直接使用这个全局变量就行了。 因为同页面的js都是运行在同一个dom环境里的。 在外部js方法里对这个全局变量做个检查判断,防止意外错误就行了
回复
赵举飞 2016-02-23
引用 1 楼 foren_whb 的回复:
不是不行,是要看情况,如果想在js环境里动态取,那是做不到的,如果是跟随页面刷新的,是可以的, 比如: 字符串: var testVal = “<%=basePath %>”; 数字: var testVal = <%=basePath %>; 这样是行得通的。 说来说去,还是要了解动态网页的工作原理以及js的本质
没明白
回复
蜗牛快跑啊 2016-02-19
给变量一个id 然后 $("#id").val();
回复
qq_28905485 2016-02-19
建议java代码不要写在页面上
回复
丰云 2016-02-19
不是不行,是要看情况,如果想在js环境里动态取,那是做不到的,如果是跟随页面刷新的,是可以的, 比如: 字符串: var testVal = “<%=basePath %>”; 数字: var testVal = <%=basePath %>; 这样是行得通的。 说来说去,还是要了解动态网页的工作原理以及js的本质
回复
相关推荐
发帖
JavaScript
创建于2007-09-28

8.5w+

社区成员

Web 开发 JavaScript
申请成为版主
帖子事件
创建了帖子
2016-02-19 03:46
社区公告
暂无公告