通过servlet填写html表单字段

时间:2014-07-09 16:22:58

标签: java jsp servlets

所以问题就像我们通过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中也有这样的东西吗?

2 个答案:

答案 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请求并从数据库中获取值。