所以问题就像我们通过servlet使用request.getParameter()
来操作表单字段的值,我们可以做其他方式,即从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中也有这样的东西吗?
答案 0 :(得分:1)
我知道您没有请求任何小脚本,但IMO这是最简单的方法。
在servlet中,设置一个请求属性:
request.setAttribute("attributeName", attributeValue);
然后在你的jsp中,你可以像这样访问attributeValue:
<%= request.getAttribute("attributeName") >
编辑:对于评论中的后续问题,以下是使用scriptlet在选择框中显示ID的方法:
首先,在servlet中设置ID列表:
List<String> idList = ...;
request.setAttribute("idList", list);
然后在JSP中,按如下方式构造select字段:
<select name="ids">
<%
List<String> idList = request.getAttribute("idList");
for(String id : idList) {
%>
<option><%=id></option>
<%
}
%>
</select>
答案 1 :(得分:0)
。下拉列表从数据库中获取ID,当用户选择特定的id时,文本框应该填充数据库中该ID的其他值,以便用户可以编辑它们或相应地保持不变。
这是使用AJAX调用的最佳位置。请激活AJAX请求并从数据库中获取值。