Java 从CSV文件读取数据,它将自动生成发送到JSP页面的电子邮件ID

Java 从CSV文件读取数据,它将自动生成发送到JSP页面的电子邮件ID,java,jsp,Java,Jsp,我有两个文本框,即LVPL\u name和Email\u ID 如果我从LVPL_name的下拉列表中选择任何名称,它将自动从CSV文件生成相应的电子邮件ID,并显示在JSP页面中 我的示例代码: try { String fileName = "LVPL_names.csv"; CSVReader reader = new CSVReader(new FileReader(fileName )); String[] rows = new CSVReader(reade

我有两个文本框,即
LVPL\u name
Email\u ID

如果我从
LVPL_name
的下拉列表中选择任何名称,它将自动从CSV文件生成相应的电子邮件ID,并显示在JSP页面中

我的示例代码:

try { 
    String fileName = "LVPL_names.csv";
    CSVReader reader = new CSVReader(new FileReader(fileName ));
    String[] rows = new CSVReader(reader).readEmail_ID();
    if (x == Aarthi) { 
        System.out.println("Selected LVPL_name"+name.index of (Email_ID));
    } else { 
        System.out.println("Enter the Email_ID"); 
    } 
} catch() {

}
我的Excel表格是:

 LVPL_name   Email ID 
-----------------------
aaaaa1      aaaaa1@sap.com 
aaaaa2      aaaaa2@sap.com 
aaaaa3      aaaaa3@sap.com 
aaaaa4      aaaaa4@sap.com 
aaaaa5      aaaaa5@sap.com 

我认为我的代码有问题。

您必须通过
ajax
/
servlet
/
xhr
请求来实现这一点。下面是一个
xhr
请求的示例

要使以下代码按原样正常工作(未编辑),您必须将CSV文件放在
C:
drive中。您的CSV文件名必须是
mydata.CSV
。而且,您还应该将
index.jsp
getEmail.jsp
放在同一个文件夹中

index.jsp

<%@page import="java.io.File"%>
<%@page import="java.io.FileReader"%>
<%@page import="com.opencsv.CSVReader"%>
<%@page import="java.util.ArrayList"%>

<html>
    <head>
        <script>
            function selected(value){
                var xhReq = new XMLHttpRequest();
                xhReq.open("GET", "getEmail.jsp?lvpl=" + value, false);
                xhReq.send(null);
                var serverResponse = xhReq.responseText;
                document.getElementById('textbox').value = serverResponse;
            }
        </script>
    </head>

    <body>

<%
    // Varaibles
    String lvpl, email;
    int counter = 0;
    CSVReader reader = new CSVReader(new FileReader(new File("C://mydata.csv")));
    String[] data;
%>

        <select onchange="selected(this.value)">
<%
    // READING TO CSV TO CREATE DATA IN SELECT BOX
    while ((data = reader.readNext()) != null) {

        // Skips CSV File Headings: LVPL and EMAIL_ID 
        if(counter == 0){
            counter++;      // Increase it so that it can't come in this block again
            continue;
        }

        // CSV FILE DATA AS READ BY CSVREADER
        lvpl = data[0];         // LVPL
        email = data[1];        // EMAIL
%>
            <option><%=lvpl%></option>
<%      
    }
%>
        </select>

        <input id="textbox" type="text" placeholder="email will show in here">

    </body>
</html>
<%@page import="java.io.FileReader"%>
<%@page import="java.io.File"%>
<%@page import="com.opencsv.CSVReader"%>
<%@page import="java.util.ArrayList"%>
<%
    // get lvpl from received request
    String lvplReceived = request.getParameter("lvpl");

    // Reading CSV
    String lvpl = "", email = "";
    int counter = 0;
    boolean lvplFound = false;  // becomes true when lvpl matches selected lvpl

    CSVReader reader = new CSVReader(new FileReader(new File("C://mydata.csv")));
    String[] nextLine;
    while ((nextLine = reader.readNext()) != null) {

        /* Skips CSV File Headers: LVPL and EMAIL_ID */
        if(counter == 0){
            counter++;
            continue;
        }

        // CSV FILE DATA
        lvpl = nextLine[0];         // LVPL
        email = nextLine[1];        // EMAIL

        if(lvpl.equals(lvplReceived)){      // if this lvpl matches with selected lvpl
            lvplFound = true;
            break;
        }

    }

    if(lvplFound){      // print email of matched lvpl
        out.print(email);
    } else {
        out.print("not found");
    }
%>
如果这不是您想要的方式,或者您不理解此代码,请随时通过评论与我联系

有用链接:


注意:如果您现在正在学习JSP,我建议您转到JSTL。JSP不再被使用,10年前就被弃用了,因为它无法与微软的ASP。如果你继续学习JSP,将来对你不会有任何好处,特别是在印度,我不敢相信那里的人还在教授一门10年前的技术。下面是一个让您开始学习的方法。

@RadhikaEmmadi将来,请将代码和数据输入到您的问题中,并在下面添加“编辑”链接。
LVPL    EMAIL
aaaaa1  aaaaa1@sap.com
aaaaa2  aaaaa2@sap.com
aaaaa3  aaaaa3@sap.com
aaaaa4  aaaaa4@sap.com
aaaaa5  aaaaa5@sap.com