gpt4 book ai didi

Java Servlet运行完成后将内容放入HTML中的输入字段

转载 作者:行者123 更新时间:2023-12-02 13:35:32 25 4
gpt4 key购买 nike

所以基本上我已经从数据库中检索了数据,并将我需要的值存储在数组中。但我在设置 HTML 输入字段中的值时遇到问题。我有三个字段:威尔士名字、英文名字和性别。所以我需要表单中的威尔士语输入字段来保存威尔士语单词等。我该怎么做?

HTML 代码;

<html>
<head>
<title>Academi Gymraeg</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="styles.css">
</head>
<body>
<h1>Academi Gymraeg</h1>
<h2>Modify Vocabulary</h2>
<div class="login-form">
<div class="login-elements">
<br>
<form action="instructorServlet" name="searchVocab" method="post">
<input type="hidden" name="type" value="searchVocab" />
Word:
<input type="text" name="word" class="inputBox" required><br><br>
Language:<br>
<select name="language" class="dropDown">
<option value="English" selected>English</option>
<option value="Welsh">Welsh</option>
</select><br><br>
<button type="submit" class="button" name="search" value="search"
>Search</button><br><br>
</form>
<form action="instructorServlet" name="modifyVocab" method="get">
<input type="hidden" name="type" value="modifyVocab" />
Welsh Name:
<input type="text" name="welshName" class="inputBox" required><br><br>
English Name:
<input type="text" name="englishName" class="inputBox" required><br><br>
Gender:<br>
<select name="gender" class="dropDown">
<option value="Masculine" selected>Masculine</option>
<option value="Feminine">Feminine</option>
</select><br><br>
<button type="submit" class="subButton" name="modifyEntry" value="Modify Entry"
>Modify Entry</button>
<button type="reset" class="subButton" name="modifyEntry" value="Modify Entry"
>Reset</button>
</form><br>
<form action="instructorServlet" name="backToMenu" method="post">
<input type="hidden" name="type" value="backToMenu" />
<button type="submit" class="button" name ="backToMenu" value="backToMenu"
>Back To Menu</button>
</form>
</div>
</div>
</body>

servlet 代码

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String form = request.getParameter("type");
if ("searchVocab".equals(form)) {
String searchFor = request.getParameter("search");

if (searchFor != null) {
String word = request.getParameter("word");
String language = request.getParameter("language");
String values[] = database.searchFor(word, language);
response.getOutputStream().println("<script> window.location = \"modify-vocab.html\";</script>");
response.getOutputStream().println("<script> document.getElementById(\"welshName\").value = " + values[0] + ";\n"
+ " document.getElementById(\"englishName\").value = " + values[1] + ";\n"
+ " document.getElementById(\"gender\").value = " + values[2] + "; </script>");
}
}

表单会重新加载,但是,值不会放入输入字段中,它们只是加载空白。

最佳答案

您的 servlet 应该构建您需要的值并将它们转发到 JSP View 。

@Override
protected void doPost(final HttpServletRequest request, final HttpServletResponse response) throws ServletException, IOException {
// ... code to build your values

// Set the values
request.setAttribute("welshName", welshName);
request.setAttribute("englishName", englishName);
request.setAttribute("gender", gender);

// Ask the view to take care of the values
request.getRequestDispatcher("view.jsp").forward(request, response);
}

你的观点。

 <%

final String welshName = (String) request.getAttribute("welshName");
final String englishName = (String) request.getAttribute("englishName");
final String gender = (String) request.getAttribute("gender");

%>

Welsh Name: <input type="text" name="welshName" class="inputBox" value="<% out.print(welshName); %>"/>
English Name: <input type="text" name="englishName" class="inputBox" value="<% out.print(englishName); %>"/>

Gender:
<select name="gender" class="dropDown">
<option value="Masculine" <% out.print("masculine".equals(gender) ? "selected" : ""); %>>Masculine</option>
<option value="Feminine" <% out.print("feminine".equals(gender) ? "selected" : ""); %>>Feminine</option>
</select>

关于Java Servlet运行完成后将内容放入HTML中的输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43020551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com