java - 如何用 JSP 调用变量?
问题描述
在 JSP 中,我创建了一个像这样的简单变量:
<%
if (request.getSession().getAttribute("user") != null) {
String status = "online";
}
else {
String status = "offline";
}
%>
在 HTML 中,我这样调用变量:${status}
因此,字符串“offline”或“online”只是一个 CSS 类,如下面的代码所示:
<img class="profile-pic" src="../assets/img/reza.png" alt="Chin"> <i class="status ${status}"></i>Reza
所以整个代码看起来像这样:
<%
if (request.getSession().getAttribute("user") != null) {
String status = "online";
}
else {
String status = "offline";
}
%>
<div class="user-section">
<img class="profile-pic" src="../assets/img/reza.png" alt="Chin"> <i class="status ${status}"></i>Reza
</div>
但从 Intellij 我收到警告:
无法解析变量“状态”
我怎样才能解决这个问题?
解决方案
您的范围有问题,当您在 if 或 else 块中声明一个变量时,您可以在该范围内使用此变量,您可以像这样解决您的问题:
<%
String status = "offline"; // declare the variable outside the if else
if (request.getSession().getAttribute("user") != null) {
status = "online"; // if the condition is correct then assign "online"
}
%>
编辑后
似乎您以错误的方式使用变量名,而是必须使用:
<i class="status <%=status%>">
代替 :
<i class="status ${status}">
推荐阅读
- react-native - 禁用“捕捉”到起始位置滚动视图反应本机
- python - 添加基于现有多个列的新列意外地创建了一列列表
- python - 在线图上创建密度条
- google-sheets - 如何仅在 Google 表格中计算年龄
- sql - #1452 - 无法添加或更新子行:外键约束失败 Policy_payment
- ruby-on-rails - gem install mimemagic -v '0.3.10' 无法在 Big Sur 上安装
- flutter - 如何使用flutters video_player或chewie或video_viewer插件播放m3u8链接?
- c - 如何在 cython 中调用 C 内联汇编 asm?
- python - 语义突出显示问题vscode windows 10
- c# - 即使使用控制器,MVC 视图也会返回 404 错误