gpt4 book ai didi

javascript - 向 Servlet 传递参数

转载 作者:行者123 更新时间:2023-12-03 06:24:21 31 4
gpt4 key购买 nike

当我将参数传递给 servlet 时遇到一些问题。特别是我想传递下拉选择的所选项目的值。但问题是,当我单击所选项目时,它不会发生任何事情(事实上,servlet 应该调用 jsp 来可视化表格)。此外,我如何在下拉选择下可视化这个jsp?我不想打开另一个窗口:你如何看到我有一个选项卡菜单(每个选项卡代表对数据库的一个操作,当我调用各种jsp时我不想打开其他窗口)

 protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html");
String i = request.getParameter("choose");
PrintWriter out = response.getWriter();
if(i.equals("products")){
ArrayList<Products> list = new ArrayList<Products>();
list = bDBean.listProduct();

request.setAttribute("list", list);

String arg = "/" + this.getServletName() + ".jsp";
RequestDispatcher dispatcher = this.getServletContext().getRequestDispatcher(arg);
dispatcher.forward(request, response);
}
if(i.equals("login")){
// something
}

}

我的jsp

<script type="text/javascript">
function passingParameter(form1){
var choose = document.getElementById("choose");

var selectedValue =choose.options[choose.selectedIndex].value;
}
</script>

<div class="tab-content">

<div id="operation 1" class="tab-pane fade in active">

<h3>OPERATION 1</h3>


<div class="form-group">
<label for="scelta">Select the table you want to see:</label>

<form name=form1 action="NewServlet" method="post">
<select id="choose" class="form-control" name="choose"onchange="passingParameter(this.form)">
<option value="products">Products</option>
<option value="login">Login</option>
</select>
</form>
</div>
</div>
<div id="add" class="tab-pane fade">
<h3>OPERATION 2</h3>

</div>
<div id="OPERATION 2" class="tab-pane fade">
<h3>OPERATION 2</h3>
<p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam.</p>
</div>
<div id="OPERATION 3" class="tab-pane fade">
<h3>OPERATION 3</h3>
<p>Eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.</p>
</div>
</div>

最佳答案

您显然想要的是能够修改页面片段而不重新加载整个页面,这可以通过 AJAX(异步 JavaScript 和 XML)来完成。常见的方法是使用JQuery ,这是一个简单的代码,您需要对其进行一些修改才能集成到您的代码中:

<!DOCTYPE html>
<html>
<head>
<script src="https://code.jquery.com/jquery-3.1.0.min.js"></script>
</head>
<body>
<form>
<select id="choose" class="form-control" name="choose">
<option value="products">Products</option>
<option value="login">Login</option>
</select>
</form>
<div id="result"></div>
<script>
$( "#choose" ).change(function( event ) {
$.post("NewServlet", "choose=" + $( "#choose" ).val(), function( data ) {
$( "#result" ).empty().append( data );
});
});
</script>
</body>
</html>

这段代码:

  1. 加载 JQuery 3.1.0(此代码适用于 JQuery 1.x,因为它非常基本)
  2. 在脚本部分中,它添加了一个处理程序,该处理程序会将选择的值发布到您的 servlet,并将响应放入 div 中,只要所选选项发生更改,该 div 的 id 就是 result

关于javascript - 向 Servlet 传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38718919/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com