gpt4 book ai didi

java - 通过将 servlet 传递给 jsp 自动填充值,而不使用 javascript

转载 作者:行者123 更新时间:2023-12-02 01:33:44 24 4
gpt4 key购买 nike

我尝试在不单击“提交”按钮的情况下提交表单。我想在没有 JavaScript 的情况下做到这一点。有什么方法可以实现吗?我想使用 scriplet 从 servlet 获取 jsp 中的数据,但如何实现?

名字:汤姆

姓氏:杰瑞

index.jsp

 <form action="NewServlet" method="post">

<input type="text" name="firstname"/>// while entering Tom here Jerry
should appear automatically in below text box

<input type="text" name="lastname"/>//I am trying to display Jerry while
user enters Tom on above text box

</form>

NewServlet.java

  String firstname=request.getParameter("firstname");
if(firstname.equals("Tom"){
String lastname="jerry";// return this value "Jerry to index. jsp
request.setAttribute("lastname", lastname);
}

最佳答案

您可以尝试以下操作:

//scriplet to retrieve the value of the last name
<%
String lastname = null;
if(request.getAttribute("lastname")!=null)
{
lastname = (String)request.getAttribute("lastname");
}else
{
lastname = "some_default_value";
}
%>
<form action="NewServlet" method="post">

<input type="text" name="firstname"/>
//set value of the input tag to the lastname variable using scriplet
<input type="text" name="lastname" value = <%=lastname%>>

</form>

您的 servlet 文件将是:

 String firstname=request.getParameter("firstname");
if(firstname.equals("Tom")
{
String lastname="jerry";// return this value "Jerry to index. jsp
RequestDispatcher dispatcher = request.getRequestDispatcher("index.jsp");
request.setAttribute("lastname", lastname);
dispatcher.forward(request, response);
}

对于不点击提交按钮的提交,您可以在表单中设置一个隐藏的提交类型按钮。然而,这种方法很乏味,并且对脚本有不必要的调用,而且就用户体验而言,这是一种不好的做法。在工作中,似乎重新加载网页只是为了从 servlet 获取自动建议。

此外,这仅在用户填写名字然后单击输入时才有效。此外,您还必须添加另一种边缘情况来检查是否重定向回带有姓氏的index.jsp或接受用户提供的(如果有的话)。因此我建议您检查Auto complete using jquery

关于java - 通过将 servlet 传递给 jsp 自动填充值,而不使用 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57539055/

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