java-如何打印请求对象的属性和值?

时间:2018-09-04 14:10:59

标签: java

我有一个可能属于此类的请求对象:https://tomcat.apache.org/tomcat-6.0-doc/api/org/apache/catalina/connector/RequestFacade.html

我正在尝试打印属性的名称及其值。这是我徒劳的尝试。

Enumeration rns = request.getAttributeNames();

while (rns.hasMoreElements()) {
    Object param = rns.nextElement();
    out.println("\nattribute name: " + param.toString());
    out.println("attribute value: " + request.getAttribute(param.toString()));
}

我缺少什么?用另一种语言对这个问题有一个简单的答案。它在Java中有何不同? Rails: How do I print the request parameters?

我的硬编码尝试

   Enumeration rns = request.getAttributeNames();
    while (rns.hasMoreElements()) {
        out.println("\nattribute name: " + rns.nextElement() );
    }
    // i have copied the logs output from above and edited it to create the array below
    String[] madAttrs = { "dayToGraph",
                          "yearFromGraph",
                          "yaxis",
                          "yearToGraph",
                          "monthToGraph",
                          "monthFromGraph",
                          "currentMachine",
                          "onlyGraph",
                          "currentSample",
                          "currentAnalyte",
                          "dayFromGraph",
                          "analyteid"};
    // then I got what I want.
    for (String an : madAttrs) {
        out.println("sttribute " + an);
        out.println("the value is: "+ request.getAttribute(an));
    }

但是如何在不对数组中的属性进行硬编码的情况下做到这一点呢?

1 个答案:

答案 0 :(得分:2)

不是您想要的答案,而是您问题的真实答案

过去的1990年代,不再将Java代码放入JSP文件中。

相反,在servlet(或Spring处理程序)中接收消息,并在其中进行Java工作。 接下来,创建显示值并将它们放在某个上下文中(也许是响应),然后将请求分派到您的JSP页面。

不要这样做

如果您拒绝执行上述操作, 将所需的类导入到您的JSP文件中。 我不会包括将文件导入到JSP文件中的语法, 但请放心, 与我相比,Google对此类事情的要求更少。