java - 在 JSP 中,是否可以打印名称在另一个变量中的变量的值?

标签 java jsp jakarta-ee

我遇到的问题是这样的 有变数

<core:set var="type">*one of: load,migrate, or ...* </core:set>

load, migrate, 的值是一张 map 。现在,我想根据类型打印这些值?有可能吗?

最佳答案

这将达到与@Chii 的回答相同的效果:

<c:set var="attributeName" value="foo"/>

<%
  out.println(pageContext.getAttribute(attributeName) + " = " + pageContext.getAttribute(pageContext.getAttribute(attributeName)));
%>

尽管很讨厌,但如果您需要的话,它会列出页面范围中的所有属性:

<%
  for (String attributeName : pageContext.getAttributeNamesInScope(PageContext.PAGE_SCOPE))
  {
    out.println(attributeName + " = " + pageContext.getAttribute(attributeName));
  }
%>

不要认为在 JSTL 中有办法做到这一点,但您通常只在调试期间需要它,所以我对 scriptlet 代码没有这样的问题。

关于java - 在 JSP 中,是否可以打印名称在另一个变量中的变量的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1311260/

相关文章:

java - JUNG 中的 TreeMap (用于最短路径算法)

java - 如何编写简单的 JUnit 测试来测试 REST Controller

java - 没有找到适合 jdbc mysql 的驱动程序

java - 在 servlet 中进行清理的正确方法

java - 带有 TextFormatter 和/或 UnaryOperator 的 JavaFX 8 中用于整数的数字文本字段

java - 如何创建由java中的类组成的二维数组

java - 在 JSP 中创建选项卡

java - 排除 if 的最佳方法,因为 if 会调用多个方法

java - 如何让 Java EE 运行?

java - 使用Struts2访问jsp中action类的方法中本地定义的变量的值