Java 迭代LinkedHashmap<;字符串,ArrayList<;对象>&燃气轮机;在JSP中
如何在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
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>