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 %>"/>

...全文
502 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
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的本质

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧