Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 迭代LinkedHashmap<;字符串,ArrayList<;对象>&燃气轮机;在JSP中_Java_Html_Jsp_Servlets - Fatal编程技术网

Java 迭代LinkedHashmap<;字符串,ArrayList<;对象>&燃气轮机;在JSP中

Java 迭代LinkedHashmap<;字符串,ArrayList<;对象>&燃气轮机;在JSP中,java,html,jsp,servlets,Java,Html,Jsp,Servlets,如何在JSP中迭代LinkedHashmap,以获取值部分(即ArrayList)中的元素 代码如下:- package com.test2.mainClass; import java.io.*; import java.sql.*; import java.util.*; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.Http

如何在JSP中迭代
LinkedHashmap
,以获取值部分(即ArrayList)中的元素

代码如下:-

package com.test2.mainClass;

import java.io.*;
import java.sql.*;
import java.util.*;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;



public class Servlet1 extends HttpServlet {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        super.doGet(req, resp);
        System.out.println("In doGet()");

    }



    @Override
    protected void service(HttpServletRequest req, HttpServletResponse res)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        super.service(req, res);

        Servlet1 s1 = new Servlet1();
        s1.method();
        int i = 1;
        if(i==1){


        RequestDispatcher dispatcher = 
                req.getRequestDispatcher("/exceloutput.jsp");
            dispatcher.forward( req, res );
            return;
        }

    }

    int rowIndex;
    int columnIndex;


    //***********************************************************************************
    //Taking the Standard Headers in variables
    private static String key1 = "Product";
    private static String key2 = "Model";
    private static String key3 ="Part Number";
    private static String key4 ="U_PRE";
    private static String key5 ="P_PRE";
    private static String key6 ="U_ENHP";
    private static String key7 ="P_ENHP";
    private static String key8 ="U_ENH";
    private static String key9 ="P_ENH";
    private static String key10 ="U_BASIC";
    private static String key11 ="P_BASIC";
    //***********************************************************************************                                                               


    //Creating One Master MAP which will be iterated to obtain values
    public static Map<String,ArrayList<Object>> M = new LinkedHashMap<String,ArrayList<Object>>();


    //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    //Lists for every particular key
    static ArrayList<Object> productList = new ArrayList<Object>();
    static ArrayList<Object> modelList = new ArrayList<Object>();
    static ArrayList<Object> partnoList = new ArrayList<Object>();
    static ArrayList<Object> u_preList = new ArrayList<Object>();
    static ArrayList<Object> p_preList = new ArrayList<Object>();
    static ArrayList<Object> u_enhpList = new ArrayList<Object>();
    static ArrayList<Object> p_enhpList = new ArrayList<Object>();
    static ArrayList<Object> u_enhList = new ArrayList<Object>();
    static ArrayList<Object> p_enhList = new ArrayList<Object>();
    static ArrayList<Object> u_basicList = new ArrayList<Object>();
    static ArrayList<Object> p_basicList = new ArrayList<Object>();
    //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    public void method(){
        try {


            FileInputStream file = new FileInputStream(new File("C:\\Users\\SoniAd\\Desktop\\TOOL WORK EXCEL\\Copy of Original Sheets\\New.xls"));

            //Get the workbook instance for XLS file 
            HSSFWorkbook workbook = new HSSFWorkbook(file);

            //Get first sheet from the workbook
            HSSFSheet sheet = workbook.getSheetAt(0);

            //Iterate through each rows from first sheet
            Iterator<Row> rowIterator = sheet.iterator();
            Row row;
            //Check if there is next row present in the excel sheet
            if(rowIterator.hasNext()) 
            {
                rowIterator.next();//Go to next row
            }
            if(rowIterator.hasNext()) 
            {
                rowIterator.next();
            }
            while(rowIterator.hasNext()) {
                 row = rowIterator.next();

                //For each row, iterate through each columns
                Iterator<Cell> cellIterator = row.cellIterator();
              //Check if there is next cell present in the row
                if(cellIterator.hasNext()) 
                {
                   cellIterator.next();//Go to next cell
                }

                while(cellIterator.hasNext()) {

                    Cell cell = cellIterator.next();

                    //Get the type of entry in the cell
                    switch(cell.getCellType()) {
                        case Cell.CELL_TYPE_BOOLEAN:

                            break;
                        case Cell.CELL_TYPE_NUMERIC:

                            rowIndex = cell.getRowIndex();
                            columnIndex = cell.getColumnIndex();
                            if(rowIndex>2)
                            {
                                if(columnIndex==7)
                                {
                                    u_preList.add(cell.getNumericCellValue());
                                }
                                if(columnIndex==8)
                                {
                                    p_preList.add(cell.getNumericCellValue());
                                }
                                if(columnIndex==9)
                                {
                                    u_enhpList.add(cell.getNumericCellValue());
                                }
                                if(columnIndex==10)
                                {
                                    p_enhpList.add(cell.getNumericCellValue());
                                }
                                if(columnIndex==11)
                                {
                                    u_enhList.add(cell.getNumericCellValue());
                                }
                                if(columnIndex==12)
                                {
                                    p_enhList.add(cell.getNumericCellValue());
                                }
                                if(columnIndex==13)
                                {
                                    u_basicList.add(cell.getNumericCellValue());
                                }
                                if(columnIndex==14)
                                {
                                    p_basicList.add(cell.getNumericCellValue());
                                }
                            }
                            break;
                        case Cell.CELL_TYPE_STRING:



                       //Skip iterations for first three keys   
                      if(cell.getStringCellValue()!=key1||cell.getStringCellValue()!=key2||cell.getStringCellValue()!=key3||cell.getStringCellValue()!=key4||cell.getStringCellValue()!=key5||cell.getStringCellValue()!=key6||cell.getStringCellValue()!=key7||cell.getStringCellValue()!=key8||cell.getStringCellValue()!=key9||cell.getStringCellValue()!=key10||cell.getStringCellValue()!=key11)
                            {
                                rowIndex = cell.getRowIndex();
                                columnIndex = cell.getColumnIndex();


                                if(rowIndex>2 && cell.getStringCellValue()!=null)
                                {
                                    if(columnIndex==1)
                                    {
                                        productList.add(cell.getStringCellValue());
                                    }
                                    if(columnIndex==2)
                                    {
                                        modelList.add(cell.getStringCellValue());
                                    }
                                    if(columnIndex==3)
                                    {
                                        partnoList.add(cell.getStringCellValue());
                                    }

                                }

                            }
                            break;
                    }
                }


                System.out.println("");
            }
      //Entering data (keys and their respective values
                    M.put(key1,productList);
                    M.put(key2,modelList);
                    M.put(key3,partnoList);
                    M.put(key4,u_preList);                  
                    M.put(key5,p_preList);
                    M.put(key6,u_enhpList);
                    M.put(key7,p_enhpList);
                    M.put(key8,u_enhList);
                    M.put(key9,p_enhList);
                    M.put(key10,u_basicList);
                    M.put(key11,p_basicList);


            file.close();
            FileOutputStream out = 
                new FileOutputStream(new File("C:\\Users\\Ad\\Desktop\\TOOL WORK EXCEL\\Copy of Original Sheets\\New.xls"));
            workbook.write(out);
            out.close();

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }




try {

    //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

             String serviceType = null;
             String serviceProgram = null;
             double price = 0;

    //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$      

    //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

             String choiceValuePremium = null;
             String choiceValueEnhancedPlus = null;
             String choiceValueEnhanced = null;
             String choiceValueBasic = null;

    //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^        

             String url = "jdbc:oracle:thin:@sv-decdb1.ecom.fjcs.net:1522:ECOMDEV";
             //Create Connection object
            Connection conn = DriverManager.getConnection(url, "dev",
                    "dev");
            // Create statement object
            Statement st = conn.createStatement();
            //------------------------------------------------------------------------------------------------------

            //FOR PRE

            ResultSet rs = st.executeQuery("select choicevalue from TABLENAME where choicedescription = 'Premium'");
            while(rs.next()){
            choiceValuePremium = rs.getString("choicevalue");

            }

            //-------------------------------------------------------------------------------------------------------------

            //FOR ENH PL

            ResultSet rs1 = st.executeQuery("select choice_value from TABLENAME where choicedescription = 'Enhanced +'");
            while(rs1.next()){
            choiceValueEnhancedPlus = rs1.getString("choicevalue");

            }

            //-------------------------------------------------------------------------------------------------------------

            //FOR ENH

            ResultSet rs2 = st.executeQuery("select choicevalue from TABLENAME where choicedescription = 'Enhanced'");
            while(rs2.next()){
            choiceValueEnhanced = rs2.getString("choicevalue");

            }

            //-------------------------------------------------------------------------------------------------------------

            //FOR BAS

            ResultSet rs3 = st.executeQuery("select choicevalue from TABLENAME where choice_description = 'Basic' and rownum<1");
            while(rs3.next()){
            choiceValueBasic = rs3.getString("choicevalue");

            }
          //-------------------------------------------------------------------------------------------------------------
            //Store entry (Key/Value)of HashMap in set
            Set mapSet = (Set) M.entrySet();
            //Create iterator on Set 
            Iterator mapIterator = mapSet.iterator();


            System.out.println("Display the INSERT Queries of every Entry in the Excel.\n");
            while (mapIterator.hasNext()) {
                    Map.Entry mapEntry = (Map.Entry) mapIterator.next();
                    // getKey Method of HashMap access a key of map
                    String keyValue = (String) mapEntry.getKey();
                    //getValue method returns corresponding key's value
                    //ArrayList<Object> value = (ArrayList<Object>) mapEntry.getValue();
                    ArrayList<Object> value = M.get(keyValue);
                    //KKKKKKKKKKKKKKKKKKKKKKK


                    System.out.println("\n\n\n");
                    System.out.println("------------------------------------------------------------------------------");
                    System.out.println("------------------------------------------------------------------------------");
                    System.out.println("------------------------------------------------------------------------------");
                   System.out.println(keyValue);


          //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%         
                    FileInputStream file = new FileInputStream(new File("C:\\Users\\SoniAd\\Desktop\\TOOL WORK EXCEL\\Copy of Original Sheets\\New.xls"));

                    //Get the workbook instance for XLS file 
                    HSSFWorkbook workbook = new HSSFWorkbook(file);

                    HSSFSheet sheet = workbook.getSheetAt(0);

                    //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

                    for (int k = 0; k<=sheet.getPhysicalNumberOfRows()-5;k++)
                    {  
                        //System.out.println(k);
                    if(keyValue==key4||keyValue==key5)
                    {
                        serviceProgram = choiceValuePremium;

                        if(keyValue==key4){
                            serviceType = "U";
                            price = (Double) u_preList.get(k);

                        }
                        if(keyValue==key5){
                            serviceType = "P";
                            price = (Double) p_preList.get(k);

                        }
                    }
                    if(keyValue==key6||keyValue==key7)
                    {
                        serviceProgram = choiceValueEnhancedPlus;

                        if(keyValue==key6){
                            serviceType = "U";
                            price = (Double) u_enhpList.get(k);

                        }

                        if(keyValue==key7){
                            serviceType = "P";
                            price = (Double) p_enhpList.get(k);

                        }

                    }
                    if(keyValue==key8||keyValue==key9)
                    {
                        serviceProgram = choiceValueEnhanced;

                        if(keyValue==key8){
                            serviceType = "U";
                            price = (Double) u_enhList.get(k);
                        }
                        if(keyValue==key9){
                            serviceType = "P";
                            price = (Double) p_preList.get(k);
                        }

                    }
                    if(keyValue==key10||keyValue==key11)
                    {
                        serviceProgram = "041";
                        if(keyValue==key10)
                        {
                            serviceType = "U";
                            price = (Double) u_basicList.get(k);

                        }
                    if(keyValue==key11)
                    {
                        serviceType = "P";
                        price = (Double) p_basicList.get(k);

                    }

                    }

                    if(keyValue!=key1&&keyValue!=key2&&keyValue!=key3){ 
                        //++++++++++++++++++++++++++++++++++
                        System.out.println("**********************************");
                        /*System.out.println(k);
                        System.out.println(productList.get(k));
                        System.out.println(modelList.get(k));
                        System.out.println(serviceType);
                        System.out.println(serviceProgram);
                        System.out.println(price);
                        System.out.println(partnoList.get(k));
*/                      //+++++++++++++++++++++++++++++++++++++
                         String insertQuery = "INSERT INTO TABLENAME ("productive,modeling,servicetype,serviceprogram,price,effectivedate,expirydate,createuser,createdate,pricetype,gsaprice,systemboards,manhours,partnumber,updatedate,updateuser,gsacode)"+"VALUES('"+productList.get(k)+"','"+modelList.get(k)+"','"+serviceType+"','"+serviceProgram+"',"+price+",SYSDATE-1,to_date('31-DEC-99','DD-MON-RR'),'system','SYSDATE','EXTENDED',null,null,null,'"+partnoList.get(k)+"',null,null,null)\n";
                        //st.executeUpdate(insertQuery);
                    System.out.println(insertQuery);
                    }

                    }//end of FOR Loop

             //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     

            }//end of WHILE loop

            conn.close();

        } catch (Exception e) {
            System.err.println("Got an exception! ");
            System.err.println(e.getMessage());
            e.printStackTrace();
        }

    }

}
package com.test2.mainClass;
导入java.io.*;
导入java.sql.*;
导入java.util.*;
导入javax.servlet.RequestDispatcher;
导入javax.servlet.ServletException;
导入javax.servlet.http.HttpServlet;
导入javax.servlet.http.HttpServletRequest;
导入javax.servlet.http.HttpServletResponse;
导入org.apache.poi.hssf.usermodel.HSSFSheet;
导入org.apache.poi.hssf.usermodel.HSSFWorkbook;
导入org.apache.poi.ss.usermodel.Cell;
导入org.apache.poi.ss.usermodel.Row;
公共类Servlet1扩展了HttpServlet{
/**
* 
*/
私有静态最终长serialVersionUID=1L;
@凌驾
受保护的无效数据集(HttpServletRequest-req、HttpServletResponse-resp)
抛出ServletException、IOException{
//TODO自动生成的方法存根
super.doGet(要求、响应);
System.out.println(“In-doGet()”);
}
@凌驾
受保护的无效服务(HttpServletRequest-req、HttpServletResponse-res)
抛出ServletException、IOException{
//TODO自动生成的方法存根
超级服务(请求、回复);
servlet1s1=新的Servlet1();
s1.方法();
int i=1;
如果(i==1){
RequestDispatcher=
req.getRequestDispatcher(“/exceloutput.jsp”);
调度器转发(req、res);
返回;
}
}
整数行索引;
int列索引;
//***********************************************************************************
//在变量中使用标准头
私有静态字符串key1=“产品”;
私有静态字符串key2=“Model”;
专用静态字符串key3=“零件号”;
专用静态字符串key4=“U_PRE”;
私有静态字符串key5=“P_PRE”;
私有静态字符串key6=“U_ENHP”;
私有静态字符串key7=“P_ENHP”;
专用静态字符串key8=“U_ENH”;
私有静态字符串key9=“P_ENH”;
私有静态字符串key10=“U_基本”;
私有静态字符串key11=“P_BASIC”;
//***********************************************************************************                                                               
//创建一个主地图,该主地图将被迭代以获取值
public static Map M=new LinkedHashMap();
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//每个特定键的列表
静态ArrayList productList=新ArrayList();
静态ArrayList modelList=新建ArrayList();
静态ArrayList partnoList=新ArrayList();
静态ArrayList u_preList=新ArrayList();
静态ArrayList p_preList=新ArrayList();
静态ArrayList u_enhpList=新ArrayList();
静态ArrayList p_enhpList=新ArrayList();
静态ArrayList u_enhList=新ArrayList();
静态ArrayList p_enhList=新ArrayList();
静态ArrayList u_basicList=新ArrayList();
静态ArrayList p_basicList=新ArrayList();
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
公开作废法(){
试一试{
FileInputStream文件=新的FileInputStream(新文件(“C:\\Users\\SoniAd\\Desktop\\TOOL WORK EXCEL\\Copy of Original Sheets\\new.xls”);
//获取XLS文件的工作簿实例
HSSF工作簿=新的HSSF工作簿(文件);
//从工作簿中获取第一张工作表
HSSFSheet sheet=工作簿。getSheetAt(0);
//从第一张图纸开始遍历每行
迭代器rowIterator=sheet.Iterator();
行行;
//检查excel工作表中是否有下一行
if(roweiterator.hasNext())
{
rowIterator.next();//转到下一行
}
if(roweiterator.hasNext())
{
roweiterator.next();
}
while(roweiterator.hasNext()){
行=行迭代器。下一步();
//对于每一行,遍历每一列
迭代器cellIterator=row.cellIterator();
//检查行中是否存在下一个单元格
if(cellIterator.hasNext())
{
cellIterator.next();//转到下一个单元格
}
while(cellIterator.hasNext()){
Cell=cellIterator.next();
//获取单元格中的条目类型
开关(cell.getCellType()){
case Cell.Cell\u类型\u布尔值:
打破
case Cell.Cell\u类型\u数值:
rowIndex=cell.getRowIndex();
columnIndex=cell.getColumnIndex();
如果(行索引>2)
{
如果(columnIndex==7)
{
u_preList.add(cell.getNumericCellValue());
}
如果(columnIndex==8)
{
p_preList.add(cell.getNumericCellValue());
}
如果(columnIndex==9)
{
u_enhpList.add(cell.getNumericCellValue());
}
如果(columnIndex==10)
{
p_enhpList.add(cell.getNumericCellValue());
}
如果(columnIndex==11)
{
u_enhList.add(cell.getN
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>

     <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<table border = '1'>


<th>Product</th>
<th>Model</th>
<th>Service Type</th>
<th>Service Program</th>
<th>Price</th>
<th>Effective Date</th>
<th>Expiry Date</th>
<th>Create User</th>
<th>Create Date</th>
<th>Price Type</th>
<th>GSA Price</th>
<th>System Boards</th>
<th>Man Hours</th>
<th>Part Number</th>
<th>Update Date</th>
<th>Update User</th>
<th>GSA Code</th>





</table>
</body>
</html>
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub

        Map<String,ArrayList<Object>> M = Product.method();

        request.setAttribute("M", M); // Will be available as ${M} in JSP
        request.getRequestDispatcher("/output.jsp").forward(request, response);
        return;
    }
public static Map<String,ArrayList<Object>> M = new LinkedHashMap<String,ArrayList<Object>>();

for(Map.Entry<String,ArrayList<Object>> entry : M.entrySet()){
    for(Object obj:entry.getValue()){ 
       ....
    }
}
<c:forEach var="entry" items="${M}">  
      <option>${entry.key}</option>  
      <c:forEach var="val" items="${entry.value}">       
           ....
      </c:forEach>
</c:forEach>