如何使用 java servlet jsp 中的数据预加载 html 表单

How to preload html form with data in java servlet jsp

我有一个 html 站点,该站点有一个表单。想象一下:

名:
姓:
<form action="" method="POST">
First Name: <input type="text" name="first_name">
<br />
Last Name: <input type="text" name="last_name" />
<input type="submit" value="Submit" />
</form>

我想按下一个会触发 java servlet 的按钮。那个 servlet 应该 return 数据并预加载我的表单。例如:

<form action="" method="POST">
First Name: <input type="text" name="first_name" value="MyFirstName">
<br />
Last Name: <input type="text" name="last_name" value="MyLastName" />
<input type="submit" value="Submit" />
</form>

名字:我的名字
姓氏:MyLastName

如何将数据从我的 servlet 返回到我的 html 或 .jsp 站点? 从 servlet (doPost()) 获取数据并预加载表单的正确方法是什么?

如果我正确理解你的问题 - 只需将名称添加到控制器中的 ModelAndView:

public ModelAndView defaultPage() {
    ModelAndView mav = new ModelAndView("pageName");
    // fetch the first and last name here
    mav.addObject("firstName", firstName);
    mav.addObject("lastName", lastName);
return mav;

}

然后使用以下值预加载表单:

<form action="" method="post">
    First Name: <input type="text" name="first_name" value="${firstName}">
    <br />
    Last Name: <input type="text" name="last_name" value="${lastName}" />
    <input type="submit" value="Submit" />
</form>

与 Java EE 文档一样,您可以使用 EL(表达式语言)。

For example, when evaluating the expression${customer}, the container will look for customer in the page, request, session, and application scopes and will return its value. If customer is not found, a null value is returned.

所以你应该可以写#{firstname}。