【问题标题】:send data from select tag to servlet将数据从选择标签发送到 servlet
【发布时间】:2015-03-22 08:03:28
【问题描述】:

我有一个简单的选择标签

Job Category:
    <select name="jobCat">
        <option value="tech">Technology</option>
        <option value="admin">Administration</option>
        <option value="biology">Biology</option>
        <option value="science">Science</option>
     </select>

现在当用户选择一个选项时,我想将数据发送到 servlet dopost 方法?

以上代码位于 abc.jsp 中,servlet 文件名为 pqr.java

如何执行上述动作?

我读过类似的东西

<form action="login" method="post">
    UserId  <input type="text/html" name="userId"/><br><br>
    Password <input type="password" name="password"/><br><br>
    <input type="submit"/>
</form>

这是我通过

映射到登录 servlet
WebServlet("/login")

所以当用户按下提交时,数据就会发送到这个 servlet。现在我想用 select 语句实现相同的功能?

这是 scheduleMeet.jsp 文件 ` 在此处插入标题

</head>
<body>

Job Category:
<form action="scheduleMeet" method="post">
<select name="jobCat">
    <option value="tech">Technology</option>
    <option value="admin">Administration</option>
    <option value="biology">Biology</option>
    <option value="science">Science</option>
</select>
</form>


</body>
</html>`

这是 ScheduleMeetServlet.java ` 重要的包;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class scheduleMeetServlet
 */
@WebServlet("/scheduleMeet")
public class scheduleMeetServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void doPost(HttpServletRequest request, HttpServletResponse     response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    String jobCategory = request.getParameter("jobCat");
    System.out.println("Job category is: " + jobCategory);
}
}    

`

【问题讨论】:

  • 你需要一点 javascript
  • 日程安排会议的jsp表单中的提交按钮在哪里?
  • 在表单 scheduleMeetServlet 的操作中使用 servlet 名称
  • @kirti 不,这不是必需的,他可以使用任何url,并且只需要在sevlet 中进行映射。我猜他的 servlet 可能在某个包中并且对表单不可见。所以尝试在表单操作中使用./scheduleMeet

标签: java javascript html jsp


【解决方案1】:

您可以使用选择的名称来做到这一点

您的选择必须在表单内

<form action="login" method="post">
<select name="jobCat">
        <option value="tech">Technology</option>
        <option value="admin">Administration</option>
        <option value="biology">Biology</option>
        <option value="science">Science</option>
     </select>

 UserId <input type="text/html" name="userId"/><br><br> Password <input type="password" name="password"/><br><br> <input type="submit"/> </form>

在您的登录 servlet 中, 在您的 servlet post 方法中,只需使用 request.getparameter 来获取该值

eg



  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException {
        String selectedvalue  =  request.getparameter("jobCat");
         // you will get that value in the string selectedvalue
        }

【讨论】:

  • 我没有做过javascript,如果不是问题,你可以给我一个snippit以及如何使用注释定义url映射
  • 它不需要任何 javascript 代码,相同的代码 String selectedvalue = request.getparameter("jobCat"); 可以工作
  • @kirit 检查您的答案中选择的名称?应该是jobCat
  • 是的,我检查了名称,只是不知道要在 @WebServlet(" ") 中添加什么
  • 您需要映射您的&lt;form action 属性中给出的网址模式。在你的情况下WebServlet("/login") 就足够了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-27
  • 2014-07-21
  • 2012-11-01
  • 1970-01-01
  • 2019-01-07
相关资源
最近更新 更多