java - 如何获取特定的请求属性?

标签 java servlets

所以现在我有代码可以显示来自网址的:

网址:

http://localhost:9080/MyWebApp/MyServlet?qty=1&item=100&desc=CD+ROMS&price=9.99&action=add&addToCart=Add+to+cart

显示内容:

    Recent Queries
    Item_100

下面是显示该内容的代码:

public String getRecentQueries(HttpServletRequest request)
{
    String queries = "";
    HttpSession session = request.getSession(false);
       if (session != null)
       {
          Enumeration e = session.getAttributeNames();
          if ( e.hasMoreElements() )
          {
             queries += "<h4>Recent Queries</h4><ul>";
          }
          while ( e.hasMoreElements() )
          {
             String name = (String) e.nextElement();
             String value =
                (String) session.getAttribute(name);
             queries += "<li><a href=\"" + value + "\">" + 
                name + "</a></li>";
          }
          queries += "</ul></p>";
       }
       return queries;
}

我的问题是,给定网址中的值,我如何获得“item”以外的其他内容?我如何获得 descprice

最佳答案

试试这个。您需要直接从请求中提取参数名称和值,而不是从 session 中提取属性。

public String getRecentQueries(HttpServletRequest request)
{
    String queries = "";
    Enumeration e = request.getParameterNames();

    if ( e.hasMoreElements() )
    {
        queries += "<h4>Recent Queries</h4><ul>";
    }

    while ( e.hasMoreElements() )
    {
        String name = (String) e.nextElement();
        String value = (String) request.getParameter(name);
        queries += "<li><a href=\"" + value + "\">" + name + "</a></li>";
    }
    queries += "</ul></p>";

    return queries;
}

关于java - 如何获取特定的请求属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5768178/

相关文章:

java - 声音在 eclipse 中加载和播放完美,但在转换为可运行的 jar 时卡住

java - 如何处理servlet上没有请求

apache - 从另一台连接的电脑运行 tomcat

java - Neo4J 输入无效 '(' : expected an identifier character, 空格,NodeLabel

java - 返回随机字符串键的整数值

javax.xml.bind.JAXBElement 无法转换为 com.oracle.xmlns.communications.ordermanagement.CreateOrderRequestType

Java Servlet 和 JSP,如何从文件中获取完整路径名?

java - Tomcat 执行服务已同步

java - 查找 Java 中字符串数组的差异

java - 从 ListView 获取项目值而不调用 onItemClickListner