如何从JSP页面检索文本框值

时间:2014-02-03 21:09:47

标签: java jsp servlets web-applications

我正在用Java创建一个Web应用程序,但是从文本框中检索值时遇到了问题。我的目的是要求用户输入他们的电子邮件地址,然后使用为我的应用程序的其余部分输入的值。我这样做是通过尝试将值作为jsp文件中URL的一部分传递(并使用request.getParameter()检索它)。 但是,我一直检索的值为null。

这是我的代码:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<HTML>
<HEAD>
<TITLE>Display file upload form to the user</TITLE>
</HEAD>

        <center>
                <label for="email">Enter email address</label>
                <input id="email" name="email">

        </center>

<% String mail = request.getParameter("email");
                        System.out.println(mail);%>
<BODY>
    <FORM ENCTYPE="multipart/form-data" ACTION="upload.jsp?e=<%=mail%>" METHOD=POST>
        <br> <br> <br>

        <center>
            <table border="0" bgcolor=#ccFDDEE>
                <tr>
                    <center>
                        <td colspan="2" align="center"><B>UPLOAD THE FILE</B>
                            <center></td> 
                </tr>
                <tr>
                    <td colspan="2" align="center"></td>
                </tr>
                <tr>
                    <td><b>Choose the WebEx File To Upload and Convert:</b></td>
                    <td><INPUT NAME="file" TYPE="file"></td>
                </tr>
                <tr>
                    <td colspan="2" align="center"></td>
                </tr>
                <tr>
                    <td colspan="2" align="center"><input type="submit"
                        value="Upload and Convert Recording"></td>
                </tr>
                <table>
                    </center>
                    </FORM>
</BODY>
</HTML>

我正在尝试将邮件值传递到jsp文件中,以便我可以在我的应用程序中使用它

4 个答案:

答案 0 :(得分:4)

将以下代码放在表单标记之间。

<form ENCTYPE="multipart/form-data" ACTION="upload.jsp" METHOD=POST>
    <center>
            <label for="email">Enter email address</label>
            <input id="email" name="email">
    </center>
   -------
   -------
 </form>

在服务器端写

String email=request.getParameter("email");

这肯定会解决你的问题。

答案 1 :(得分:1)

您要求upload.jsp?e=<%=mail%>参数名称为e,另一方为request.getParameter("email"); 试试这个request.getParameter("e");或者使用upload.jsp?email=<%=mail%>代替request.getParameter("email");

答案 2 :(得分:0)

你可以尝试:

<form ....  ACTION="upload.jsp?e=${mail}" method="POST">

并发送参数:

request.setAttribute("mail", "mymail@abc.com");

答案 3 :(得分:0)

根据我的理解,您通过将multipart / form-data指定为表单加密类型将两个参数和文件发送到服务器。根据我在这种模式下的知识,除了文件之外的常规参数不能直接在服务器端获得。 如果您可以在应用程序中使用第三方库,则可以使用Apche Commons和Commons IO库。您还可以使用此处指定的示例commons file uploading来解决您的问题。

您可以访问multipart/form-data structure了解详情。