您的位置:首页 > Web前端 > JavaScript

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

2012-04-17 02:21 295 查看
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 。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐