【问题标题】:inconsistent behavior while accessing session variables in jsp在 jsp 中访问会话变量时行为不一致
【发布时间】:2011-05-19 10:33:05
【问题描述】:

我的 web 服务器 - tomcat 在会话中设置了两个属性。在 jsp 页面中,将它们检索为

<% String age = (String) session.getAttribute("age"); %>

我将此值设置为同一个 jsp 文件中表单中的隐藏字段。

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

我正在尝试在 javascript 文件中使用这个值,如下所示

document.cForm.age.value

但这个值在大多数情况下都是空的。有时,要设置正确值的变量?这种不一致有什么原因吗?请解释

【问题讨论】:

  • 查看生成的源代码并查看 的输出,这应该会给您一些想法。
  • 嗨,克里斯,我查看了源代码,实际上我的表单中有两个隐藏字段,但“查看源代码”中只显示一个。缺少“年龄”字段。很奇怪。 <input type="hidden" name="url" id="url" value="&lt;%=url%&gt;"><input type="hidden" name="age" id="age" value="&lt;%=age%&gt;"> 有语法问题吗?

标签: java html jsp


【解决方案1】:

尝试在 DOM 加载时获取值而不是内联。我的意思是在 $(document).ready(function() {})

【讨论】:

  • 您好,感谢您的回复。你是说 应该在你说的函数里。
  • 嗨 Amar,有没有办法在没有 jquery 的情况下做到这一点?不熟悉jquery
  • window.onload = function() {alert(document.cForm.age.value) } 在页面末尾的脚本标签内
  • 您还应该考虑 Kris 所说的话。可能是会话变量本身可能为空。
  • 你也可以试试 document.getElementById('age').getAttribute('value')
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多