簡體   English   中英

Java Servlet中的HTML表單處理

[英]html form processing in java servlet

我正在構建一個Java Servlet來響應某些HTML表單。 這是簡單的測試表格:

 <FORM action="http://somesite.com/prog/adduser" method="post">
    <P>
    <LABEL for="firstname">First name: </LABEL>
              <INPUT type="text" id="firstname"><BR>
    <LABEL for="lastname">Last name: </LABEL>
              <INPUT type="text" id="lastname"><BR>
    <LABEL for="email">email: </LABEL>
              <INPUT type="text" id="email"><BR>
    <INPUT type="radio" name="sex" value="Male"> Male<BR>
    <INPUT type="radio" name="sex" value="Female"> Female<BR>
    <INPUT type="submit" value="Send"> <INPUT type="reset">
    </P>
 </FORM>

在服務器端,我得到了HttpRequest。 但是當我得到這樣的參數時:

@Override
public void doPost(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException {
    String firstName = req.getParameter("firstname");
    String lastName = req.getParameter("lastname");
    String sex = req.getParameter("sex");
    String email = req.getParameter("email");

}

只有“性別”可以。 我已經花了幾個小時不了解為什么“性別”與其他性別不同。 所有其他參數為空。 好的,這是唯一的“無線電”類型,但是是否有一種特殊的方法來獲取其他參數?

謝謝!

在HTML表單中,為Input值賦予Name屬性非常重要,ID屬性僅有助於頁面中的Javascript更好地查找Input元素。

我注意到您錯過了第一個Input元素的Name屬性。

您需要與其余輸入標簽一起添加name屬性,就像對sex輸入標簽進行添加一樣:

<FORM action="http://somesite.com/prog/adduser" method="post">
<P>
<LABEL for="firstname">First name: </LABEL>
          <INPUT type="text" id="firstname" name="firstname"><BR>
<LABEL for="lastname">Last name: </LABEL>
          <INPUT type="text" id="lastname" name="lastname"><BR>
<LABEL for="email">email: </LABEL>
          <INPUT type="text" id="email" name="email"><BR>
<INPUT type="radio" name="sex" value="Male"> Male<BR>
<INPUT type="radio" name="sex" value="Female"> Female<BR>
<INPUT type="submit" value="Send"> <INPUT type="reset">
</P>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM