在JS代码片段中,通过<%=request.getParameter("username")%> 访问了Login.jsp中表单传递过来的username属性的值,这样的操作上没有问题的。如果想要把getUserName()方法放在一个单独的Js中,如Welcome.js,也就是不在Jsp文件中插入Js代码。用普通的<script type=”text/javascript” src=” Welcome.js”></script>方式引入JS文件是无法访问,代码如下:
<script type=”text/javascript” src=”Welcome.js”></script>
…..//省略部分代码
<div class="content">
<div id="welcomeDiv" style="padding-top:30px;">
<div>welcome <%= request.getParameter("username") %></div>
<button οnclick="getUserName()">click here to get user name.</button>
</div>
</div>
Alert弹出的内容是:'<%=request.getParameter("username")%>',也就是说把上面这段代码当成了字符串,没有解析它。要想让单独的Js文件中的方法也能解析出'<%=request.getParameter("username")%>',需要换一种JS的引入方法,代码如下
<script type="text/javascript" > <%@ include file=".Welcome.js"%> </script>
<div class="content">
<div id="welcomeDiv" style="padding-top:30px;">
<div>welcome <%= request.getParameter("username") %></div>
<button οnclick="getUserName()">click here to get user name.</button>
</div>
</div>
用上面这种方式,点击Button弹出来的内容就是Login.jsp中传过来的username的值。