所以问题就像我们使用 request.getParameter()
通过 servlet 操作表单字段的值一样,我们可以反过来做,即从 servlet 本身设置表单字段值吗?
基本上我想做的是创建一个下拉菜单和一些文本框。下拉列表从数据库中获取 id,当用户选择特定 id 时,文本框应填充数据库中该 id 的其他值,以便用户可以相应地编辑它们或保持不变。
例如:html代码是:
<form action="GetValues">
<select name="ids"><option>1</option><option>2</option></select>
<input type="submit" value="Edit">
</form>
<form action="Save">
Product name:<input type="text" name="name" id="tb1"/></br>
Price:<input type="text" name="price" id="tb1"/>
<input type="submit" value="Save">
</form>
Getvalues servlet 建立数据库连接并从数据库获取名称和价格的值,我可以这样做,但是如何在两个文本框中显示这些值?
我可以使用 Save.java
servlet 从文本字段获取值并将其更新到数据库中。
我不太习惯使用 JSP scriptlet。我想仅使用 servlet 来完成此操作。
我知道我可以使用 servlet 本身创建文本框,但这对我不起作用,因为这会使我在表单上的 jquery 失效。
就像我们在 JavaScript 中所做的那样:
var x="hii";
document.getElementById("tb1").value=x;
Java中也有类似的东西吗?
最佳答案
我知道您没有请求任何 scriptlet,但在我看来,这是最简单的方法。
在您的 servlet 中,设置请求属性,如下所示:
request.setAttribute("attributeName", attributeValue);
然后在你的jsp中,你可以像这样访问attributeValue:
<%= request.getAttribute("attributeName") >
编辑:对于评论中的后续问题,以下是如何使用 scriptlet 在选择框中显示 ID:
首先,在 servlet 中设置 ID 列表:
List<String> idList = ...;
request.setAttribute("idList", list);
然后在您的 JSP 中,按如下方式构造选择字段:
<select name="ids">
<%
List<String> idList = request.getAttribute("idList");
for(String id : idList) {
%>
<option><%=id></option>
<%
}
%>
</select>
关于java - 通过 servlet 填充 html 表单字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24658978/