通过 JSP 直接往 JavaScript 程序中放数据。解答百度知道的一个问题。

来源:互联网 发布:手机sd卡数据迁移 编辑:程序博客网 时间:2024/04/29 17:07

zhaoyunxiang72 的问题:http://zhidao.baidu.com/question/410944469.html

我看了问题,看了追问的内容。在这里总结回答一下。


JavaServerPages ,也就是 JSP ,可以在表面上看起来把 Java 运行时变量的值直接写入发给客户端的文件。利用这种特性,令其动态生成 JavaScript 或者 HTML 都是很方便的开发方法。虽然我觉得运行效率不太好吧……怎么能够把 Java 变量保存的数据,通过 JSP 机制写入 JavaScript ,然后用起来呢?


首先,如果要在 JavaScript 中获取值,那么就应该是一个变量,或者有返回值的函数。
<%String username = ......;%><html><head>......<script language="JavaScript">var _config = { name: <%=username%> };</script><script src="js/admins.js" type="text/javascript"></script>...</head><body>...<input type="text" id="nameField"/>...</body></html>
注意这里边 <script> 标签引入的顺序。必须先把变量 _config 赋值,再引入外来的 .js 文件。不然有可能会有加载顺序不对带来的 _config == undefined ,造成对其 .name 报“找不到属性”错误。另外一半引用外界 .js 文件,要用 type="text/javascript" 方式而不是 language="JavaScript" 。
  然后,在 js/admins.js 里边,只需要用 _config.name 就可以取到 Java 运行时候的 username 值了。
var showUserName = function(){  var nameField = document.getElementById("nameField");  nameField.value = _config.name;};
然后给一个按钮注册 onClick="showUserName();" ,或者给 <body> 注册 onLoad="showUserName();" 。点击按钮或刷新页面之后就会发现对应的 <input> 里边的值变成了 username 。

原创粉丝点击