为什么POST参数不带值?

时间:2014-04-27 07:18:57

标签: jsp

我是jsp的新手,我创建了第一个jsp页面。 在这里,我想设置用户给定的值以显示在较低的文本框中。但是在提交之后,那些只需要空值。 我的代码如下所示。

<form action="index.jsp" method="post">
            <table>
                <tr>
                    <td>Country</td>
                    <td><input id="countryText" type="text" > </td>
                </tr>
                <tr>
                    <td>City</td>
                    <td><input id="cityText" type="text" ></td>
                </tr>
                <tr>
                    <td>Check in Date</td>
                    <td><input id="checkinText" type="text" ></td>
                </tr>
                <tr>
                    <td>No of Nights</td>
                    <td><input id="noOfNightsText" type="text" ></td>
                </tr>
                <tr>
                    <td>No of Rooms</td>
                    <td><input id="noOfRoomsText" value="1" type="text" disabled></td>
                </tr>
                <tr>
                    <td></td>
                    <td align="right"><button id="searchButton" type="submit" class="buttonClass">Search Hotels</button></td>
                </tr>
            </table>
        </form>

        <table>
            <tr>
                <td>Country</td>
                <td><input id="countryTextOutput" value="<%= request.getParameter("countryText")%>" type="text" disabled> </td>
            </tr>
            <tr>
                <td>City</td>
                <td><input id="cityTextOutput" value="<%= request.getParameter("cityText")%>" type="text" disabled></td>
            </tr>
            <tr>
                <td>Check in Date</td>
                <td><input id="checkinTextOutput" value="<%= request.getParameter("checkinText")%>" type="text" disabled></td>
            </tr>
            <tr>
                <td>No of Nights</td>
                <td><input id="noOfNightsTextOutput" value="<%= request.getParameter("noOfNightsText")%>" type="text" disabled></td>
            </tr>
            <tr>
                <td>No of Rooms</td>
                <td><input id="noOfRoomsTextOutput" value="<%= request.getParameter("noOfRoomsText")%>" type="text" disabled></td>
            </tr>
        </table>

我的网络界面 Web Interface

提前致谢..!

3 个答案:

答案 0 :(得分:2)

您需要在输入字段中添加名称属性,例如:

<input id="countryText" type="text" >

应该成为:

<input id="countryText" name="countryText" type="text" >

还要确保您的字段在表单中。

答案 1 :(得分:0)

request.getParameter 获取input元素的name属性。在这里你给了id。 尝试将name属性添加到输入元素。

<table>
                <tr>
                    <td>Country</td>
                    <td><input name="countryText" type="text" > </td>
                </tr>
                <tr>
                    <td>City</td>
                    <td><input name="cityText" type="text" ></td>
                </tr>
                <tr>
                    <td>Check in Date</td>
                    <td><input name="checkinText" type="text" ></td>
                </tr>
                <tr>
                    <td>No of Nights</td>
                    <td><input name="noOfNightsText" type="text" ></td>
                </tr>
                <tr>
                    <td>No of Rooms</td>
                    <td><input name="noOfRoomsText" value="1" type="text" disabled></td>
                </tr>
                <tr>
                    <td></td>
                    <td align="right"><button id="searchButton" type="submit" class="buttonClass">Search Hotels</button></td>
                </tr>
            </table>

答案 2 :(得分:0)

request.getParameter期望name not id来获取字段的值。

因此请使用name属性并在request.getParameter(name)

中传递该名称

这将解决您的问题100%

快速解决方案

将您的ID和名称设为相同。无需更改显示中的任何内容