【问题标题】:import names into Firstname and lastname textfields by clicking on "browse names" button using java通过使用java单击“浏览名称”按钮将名称导入名字和姓氏文本字段
【发布时间】:2020-03-22 13:16:09
【问题描述】:

我是 java、jsp 和 servlet 的新手。我想通过使用“浏览名称”按钮而不是输入全名来浏览名字和姓氏。我在想我会把“浏览名称”按钮放在名字文本字段的前面。然后用户将单击它并从列表中选择他的名字(即用户将从 excel 文件中选择他/她的名字)。我不知道这种从 excel 方式导入/浏览名称是否有效。有没有其他方法可以做到??请给我建议。提前致谢。 :)

<tr>
  <td>First Name</td>
  <td>
    <input list="firstnamelist" required="" name="firstname" />
    <datalist id="firstnamelist">
         <option value="abc">
         <option value="xyz">
         <option value="pqr">
         <option value="abcde">
         <option value="asdf">
    </datalist>
  </td>
</tr>

【问题讨论】:

  • 有人请帮忙:)

标签: java mysql jsp servlets


【解决方案1】:

所以你的数据库是excel还是mysql?如果它在 excel 中,那么您可以探索 POI 以将数据从 excel 文件导出到您的程序。在 Set 对象中加载名字和姓氏列表以避免重复并使用 Set 对象中的值填充下拉列表

【讨论】:

  • @NorhingBox 我的数据库在 MySQL 中。我最近将上述代码添加到我的 html 代码中,并且在 datalist.xml 中提供了示例选项。但是名字列表计数会更多,所以看起来不太好。所以我想从列表中隐藏其他名称选项。那怎么办呢??
  • “从列表中隐藏其他名称选项”是什么意思。你到底想展示什么,又想隐藏什么?
  • 我在下拉列表中只添加了五个名称选项,即 abc、xyz、pqr、abcde 和 asdf。但是下拉列表中会有更多(可能超过 1000 个)选项。所以它看起来不是很好的GUI。所以我只想显示一些选项,而其他选项应该对用户隐藏。我们也可以在下拉列表中使用“更多”选项,但我不知道如何实现。
  • 请看我上面的评论
  • 在你的mysql select查询中,你可以添加limit和offset。每次单击更多时,您只需要更改偏移量即可。限制将是恒定的。但是,缺点是您将无法返回上一个列表。
【解决方案2】:

你可以这样做

  • 您可以将 Excel 工作表转换为数据库

npm install mysql --save(安装mysql依赖)

var mysql = require('mysql');
var respo;
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "madmax",
database: "employees"
});

con.connect(function(err) {
if (err) throw err;
con.query("SELECT DISTINCT first_name FROM employees", function (err, 
result, fields) {
if (err) throw err;
respo=result
console.log(respo);
});
});

这将为您提供数据库中所有不同的名字

使用循环语句在 html 中为响应创建动态选择下拉菜单。

<!DOCTYPE html>
<html>
<body>

<form id="form">
<select id="fname">

</select>
</form>
<br>
</body>

<script>
let i;
for(i=0;i<3;i++){
document.getElementById("fname").innerHTML+=`<option value="${}">${} 
</option>`
}
</script>
</html>

${} 在从控制台添加值之前尝试检查响应...

${respo.first_name} 像这样

现在由用户从 first_name 和 last_name 中获取选择的响应,然后从数据库中相应地发送响应。

【讨论】:

    猜你喜欢
    • 2019-05-19
    • 1970-01-01
    • 2020-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多