java - 从 java beans 选择下拉菜单填充表单字段

标签 java jsp jstl javabeans el

我有一个包含 5 个文本字段的 html 表单。

我有一个从 Servlet 中的数据库查询创建的用户对象的 ArrayList。

我使用 jSTL 填充了一个选择选项的下拉菜单,并且填充得很好。

<c:forEach var="user" items="${userList}">
<option>${user.userName}</option>
</c:forEach>

我想做的是在选择时将用户对象与数组列表隔离,并使用所选对象的其他属性填充表单字段,例如:

user.firstName、user.lastName、user.email 等...

我一天中大部分时间都在寻找答案,但没有运气。

感谢任何帮助。

最佳答案

这可以在 Javascript 中轻松处理。 <option>标签有 value属性,您可以在其中“存储”要显示的数据。 JSTL会有分隔字段,例如使用逗号:

<select id="names" onchange="fillInFields()">
   <c:forEach var="user" items="${userList}">
      <option value="${user.firstName},${user.lastName},...">${user.userName}</option>
   </c:forEach>
</select>

Javascript:

function fillInFields() {
   var fields = document.getElementById("names").value.split(",");
   document.getElementById("firstNameField").value = fields[0]; // name
   ...
}

为了完整起见,字段:

<input id="firstNameField">
...

此方法需要注意的一点是,它不依赖于逗号字符 ,存在于所选字段中。在这种情况下,可以使用另一个分隔符。

关于java - 从 java beans 选择下拉菜单填充表单字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15622749/

相关文章:

jsp - Struts2:如何从 <jsp:include> 读取参数

java - 如何通过jSTL jsp读取并解析存储在request中的xml字符串

jsp - 比较 EL 表达式中的数字似乎不起作用

java - 如何使用正则表达式验证文本字段

java - Bukkit - 检测右键

java - Makefile 运行多次

java - 在提交时将多个值从 spring 表单 jsp 传递到 spring Controller

java - 无法从 android.app.Application 转换为自定义类型

eclipse - 我该如何克服这个编译错误?

java - 如何以平台无关的方式启动 Jetty 并打开浏览器