Java - 将字符串转换为列表

标签 java jsp servlets

这是将字符串转换为列表的正确方法吗?

List styles = (List)request.getParameter("styles");

    Model (BeerExpert.java)

package com.example.model;
import java.util.*;

public class BeerExpert {
    public List getBrands(String color){
        List brands = new ArrayList();
        if(color.equals("amber")){
            brands.add("Jack Amber");
            brands.add("Red Moose");
        }
        else{
            brands.add("Jail Pale Ale");
            brands.add("Gout Scott");
        }
        return brands;
    }
}

接下来是servlet类

BeerSelect.java

package com.example.web;

import com.example.model.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;

public class BeerSelect extends HttpServlet {
    public void doPost(HttpServletRequest request,
                       HttpServletResponse response)
                        throws IOException,ServletException{
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();

        out.println("Beer Selection Advice <br>");
        String c = request.getParameter("color");

        BeerExpert be = new BeerExpert();
        List result = be.getBrands(c);

        request.setAttribute("styles", result);
        RequestDispatcher view = request.getRequestDispatcher("results.jsp");
        view.forward(request, response);
    }
}

最后是jsp。

 results.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<%@page import="java.util.*" %>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1 align="center">Beer Recommendations in JSP!!!</h1>
        <%
            List styles = (List)request.getParameter("styles");
            Iterator it = styles.iterator();
            while(it.hasNext()){
                out.print("<br> try " + it.hasNext());
            }
        %>
    </body>
</html>

谢谢

最佳答案

List<String> list = Arrays.asList(yourString);

请记住,您将无法更改列表的内容。如果您需要这样做,请手动从这个列表创建另一个列表。

关于Java - 将字符串转换为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7862829/

相关文章:

java - 我应该关闭 servlet 输出流吗?

java - 无法迭代 HashMap 键?

java - 如何处理作为参数发送到 Servlet 的空白日期

java - 通过 REST 查询 SharePoint Online 术语库

java - 同一应用程序中的 Google App Engine 推送队列 HTTP 调用是否收费

java - 使用 Spring 使用数据库中的多列数据填充下拉框不起作用

java - 将 .tld 文件放在哪里,以便正确打包使用 maven2 生成的 JAR 文件?

java - 如何在 JSP 上将 Map 的键放入 <select> 中

java - JPA查询仅按日期搜索而忽略时间

java - 有没有办法在编译期间在 Java 类中使用 maven 属性