java - 通过将值传递给jsp而不使用javascript自动填充来自servlet的值
问题描述
我正在尝试在不单击提交按钮的情况下提交表单。我想在没有javascript的情况下做到这一点。有什么办法可以实现吗?我想使用 scriplets 从 servlet 获取 jsp 中的数据,但我该如何实现呢?
姓名:汤姆
姓名:杰瑞
索引.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>
新Servlet.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 获得自动建议。
此外,这仅在用户填写名字然后单击 Enter 时才有效。此外,您必须添加另一个极端情况来检查是否使用姓氏重定向回 index.jsp 或接受用户提供的姓氏(如果他们有的话)。因此,我建议您使用 jquery 检查自动完成
推荐阅读
- android - 如何在颤动中对齐两个文本小部件?
- javascript - 将 $(this).text 与类内容一起使用
- postgresql - 在 postgresql12 中使用序列字段进行表分区
- sql - 如何将拆分字符串查询 [拆分为多行] 转换为 SQL Server 中的更新表查询?
- twilio - 通知通话正在录音
- flutter - 一个 RenderFlex 在底部溢出了 40 个像素。扑
- java - 如何使用 Selenium 和 Java 识别元素
- java - 在 JFrame 中导入整个文本文件
- javascript - 将一个句子分成三个单词的短语
- android - 在后台杀死应用程序后,每次用户进入应用程序时显示布局