Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在页面加载时触发servlet方法_Java_Events_Servlets - Fatal编程技术网

Java 如何在页面加载时触发servlet方法

Java 如何在页面加载时触发servlet方法,java,events,servlets,Java,Events,Servlets,我想将文本文件中的条目加载到下拉框中 我希望在加载jsp页面时发生这种情况。如果我有一个按钮触发向servlet传递请求对象,那么我可以很容易地做到这一点。如何在页面加载时发送请求对象-我是否需要使用Javascript,或者这是我可以用JP来完成的。您可以在服务器端填充它。我的意思是,当您在JSP上创建选择框时,填充它。例如: <select id="sel1" name="animal"> <c:forEach var="animal" items="${model.ani

我想将文本文件中的条目加载到下拉框中


我希望在加载jsp页面时发生这种情况。如果我有一个按钮触发向servlet传递请求对象,那么我可以很容易地做到这一点。如何在页面加载时发送请求对象-我是否需要使用Javascript,或者这是我可以用JP来完成的。

您可以在服务器端填充它。我的意思是,当您在JSP上创建选择框时,填充它。例如:

<select id="sel1" name="animal">
<c:forEach var="animal" items="${model.animals}">
<option value="<c:out value="${animal.id}"/><c:out value="${animal.name}"/></option>
</c:forEach>
</select>
<select id="sel1" name="animal">
</select>

<script type="text/javascript">
$(function() {
  $.get('/server/getanimals', function(data, textStatus) {
    var sel = $("#sel1");
    for (var i=0; i<data.length; i++) {
      sel.append('<option value="' + data[i].id + '">' + data[i].name + '</option>');
    }
  }, 'json');
});
</script>


您可以使用Servlet的
doGet()
方法预处理GET请求上的数据。
doPost()
用于对POST请求的数据进行后处理(提交表单时)

例如:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    List<Option> options = optionDAO.list();
    request.setAttribute("options", options);
    request.getRequestDispatcher("page.jsp").forward(request, response);
}

最后,在
web.xml
中映射servlet并调用请求,使其与
url模式匹配,例如

谢谢,你有什么好的jQuery参考资料吗?我会在谷歌上搜索一下,如果你能帮忙的话,我会非常感激的。我不使用任何框架,因为我不知道如何使用——我正在学习Spring——但同时我只使用从servlet调用的jsp页面。当我陷入困境时,我会写一个会话对象。如果你在学习Spring,你可能想看看Spring MVC,但学习Servlet的基本原理也不会有什么坏处。这听起来可能是一个非常简单的问题,但这是Spring和Servlet之间的一个非此即彼的选择吗,或者Spring将servlet连接在一起。Spring和servlet是互补的。SpringMVC是一个构建在Javaservlet之上的WebMVC框架(如果不是所有的话,大多数JavaWeb框架最终都构建在servlet之上)。Spring可以用于桌面应用程序、Web应用程序,甚至任何类型的应用程序。
<select name="foo">
    <c:forEach items="${options}" var="option">
        <option value="${option.value}">${option.label}</option>
    </c:forEach>
</select>