这是针对我正在开发的使用 JSP 和 Servlet 的 Web 应用程序。我尝试了许多来自互联网的建议,例如将列表元素的文本更改为用户名的 JS 函数,但没有奏效。似乎问题在于我的标签内的代码无法识别用户名,尽管在脚本标签之外它运行良好。这是我尝试的最后一个 javascript 函数:<script type="text/javascript"> var username='<%= session.getAttribute("username") %>'; document.getElementById("loginbutton").textContent=username;</script>这是列表元素的 html:<li id="loginbutton" class="loginbutton"><a href="login.jsp">Log in/Sign up</a></li>`从上面的代码中可以看出,我创建了一个变量,该变量应该保存会话中用户名属性的值,然后通过使用 textContent 我尝试将 loginbutton 元素的值更改为用户名的值。我登录后list元素保持不变,所以很明显函数没有获取到用户名。提醒在 JS 代码之外显示用户名可以正常工作。
1 回答

收到一只叮咚
TA贡献1821条经验 获得超4个赞
你可以用jsp来做。
String user_label = session.getAttribute("username");
if(user_label == null){
user_label = 'Log in/Sign up';
}
<li id="loginbutton" class="loginbutton"><a href="login.jsp"><%=user_label%></a></li>`
使用javascript。
获取脚本外的会话值。
String username = (String)session.getAttribute("username");
登录成功获取用户名后,使用java脚本中的名称更新标签
<script type="text/javascript">
var username = '<%=username %>';
document.getElementById("loginbutton").text =username ;
</script>
添加回答
举报
0/150
提交
取消