假设我有以下课程
public class Account {
private Long id;
private String username;
private String password;
// getters + constructor
}
以下动作类
public MyAction extends ActionSupport {
private CoreService service;
private long id;
private String username;
private String password;
private Account account;
public String loadAccount() {
account = service.getAccountById(id);
return SUCCESS;
}
public String updateAccount() {
service.updateAccount(account);
return SUCCESS;
}
// getters + setters
}
我使用loadAccount()方法填充表单的字段。
我的表格:
<form action="update_account" method="post">
<label for="username">New username</label>
<input type="text" name="username" value="${account.username}" id="username" placeholder="Enter name" required>
<label for="password">New password</label>
<input type="password" name="password" id="password" placeholder="Enter new password" required>
</form>
现在,假设用户将记下新的用户名,但验证失败。用户名&#39;内的值textfield将重置为帐户的用户名。我想更改我的程序并使其最初加载帐户的用户名,但如果验证失败,它将加载最后一个输入。
答案 0 :(得分:1)
更改显示字段的代码
<input type="text" name="username" value="${username}" id="username" placeholder="Enter name" required>
然后是一个在加载后设置它的方法
public String loadAccount() {
account = service.getAccountById(id);
setUsername(account.getUserName());
return SUCCESS;
}