首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过servlet填充html表单字段

通过servlet填充html表单字段
EN

Stack Overflow用户
提问于 2014-07-09 16:22:58
回答 2查看 3.7K关注 0票数 0

因此,问题就像我们通过servlet操纵表单字段的值一样,通过使用request.getParameter(),我们能做相反的事情,即从servlet本身设置表单feild值吗?

基本上,我要做的是创建一个下拉列表和一些文本框。下拉列表从数据库中获取id,当用户选择特定的id时,文本框中应该填充来自该id的数据库的其他值,以便用户要么编辑它们,要么保持不变。

对于ex: html代码是:

代码语言:javascript
运行
复制
 <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建立数据库连接并从数据库中获取名称和价格的值,但如何在两个文本框?中显示这些值。

我可以使Save.java servlet从textfields获取值并更新到数据库中。

我根本不习惯使用JSP。我只想使用servlet来完成这个任务。

我知道我可以使用servlet本身创建文本框,但这对我来说是行不通的,因为这会导致表单上的jquery失效。

就像我们在javascript中所做的:

代码语言:javascript
运行
复制
var x="hii";
document.getElementById("tb1").value=x;

Java中也有类似的东西吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-09 16:31:33

我知道你没有要求脚本,但这是最简单的方法。

在servlet中,将请求属性设置为这样:

request.setAttribute("attributeName", attributeValue);

然后在jsp中,您可以这样访问attributeValue:

<%= request.getAttribute("attributeName") >

编辑:对于注释中的后续问题,下面是如何使用scriptlet在选择框中显示ID:

首先,在servlet中设置in列表:

代码语言:javascript
运行
复制
List<String> idList = ...;
request.setAttribute("idList", list);

然后,在JSP中,按照以下方式构造select字段:

代码语言:javascript
运行
复制
<select name="ids">
  <% 
    List<String> idList = request.getAttribute("idList");
    for(String id : idList) {
  %>
      <option><%=id></option>
  <%
    }
  %>
</select>
票数 1
EN

Stack Overflow用户

发布于 2014-07-09 16:27:29

。下拉列表从数据库中获取id,当用户选择特定的id时,文本框中应该填充来自该id的数据库的其他值,以便用户要么编辑它们,要么保持不变。

这是使用AJAX调用的最佳位置。请发出AJAX请求并从数据库获取值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24658978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档