在Struts2中,当验证失败时,可以使用<s:action>
标签将请求重新发送到Action,并使用<s:set>
标签将验证失败的值重新设置到控件中。以下是一个示例:
public class MyAction extends ActionSupport {
private String name;
private String email;
public String execute() {
// 验证逻辑
if (name == null || name.isEmpty()) {
addFieldError("name", "Name is required");
return INPUT;
}
if (email == null || email.isEmpty()) {
addFieldError("email", "Email is required");
return INPUT;
}
// 其他验证逻辑
return SUCCESS;
}
// Getter and Setter methods
}
<s:action>
和<s:set>
标签:<s:action name="myAction" executeResult="true">
<s:set name="name" value="name" scope="request"/>
<s:set name="email" value="email" scope="request"/>
</s:action>
<s:form action="myAction">
<s:textfield name="name" label="Name" value="%{#request.name}"/>
<s:textfield name="email" label="Email" value="%{#request.email}"/>
<s:submit value="Submit"/>
</s:form>
在这个示例中,当验证失败时,<s:action>
标签将请求发送到myAction
,并使用<s:set>
标签将验证失败的值重新设置到控件中。这样,用户可以看到他们之前输入的值,并进行相应的修改。
推荐的腾讯云相关产品:
这些产品都可以通过腾讯云官方网站进行购买和使用。
领取专属 10元无门槛券
手把手带您无忧上云