当谈到 Java 和 Struts 时,我是个菜鸟(我觉得自己像 Java 世界中的 .Net 男孩)。
action 元素的 input 属性是做什么用的?因此,在下面的示例中,输入是 someinput.jsp。
<action path="/somepath"
type="SomeAction"
name="SomeForm"
scope="session"
input="someinput.jsp">
当谈到 Java 和 Struts 时,我是个菜鸟(我觉得自己像 Java 世界中的 .Net 男孩)。
action 元素的 input 属性是做什么用的?因此,在下面的示例中,输入是 someinput.jsp。
<action path="/somepath"
type="SomeAction"
name="SomeForm"
scope="session"
input="someinput.jsp">
如果表单 beanSomeForm
返回验证错误,它将返回 page someinput.jsp
。引用相应的 DTD:
仅在指定“名称”时有效。如果指定了“名称”并且输入 bean 返回验证错误,则为必需。如果指定了“名称”并且输入 bean 不返回验证错误,则为可选。
input
如果对属性中指定的表单的验证失败,Struts 会将用户转发到属性中指定的页面/操作name
。
尽管如此,在您的动作执行中(无论是单个动作单元还是多个动作单元),也可以指定结果,即SUCCESS
、FAILURE
或INPUT
。
Struts 验证器插件将从视图中截取创建的表单 bean 实例并在进入控制器之前进行验证,如果数据违反最终用户验证规则,则错误对象在输入属性视图中被消化,指定为值
它用于重定向到输入属性中的jsp。但是在您的 Action 控制器中,您需要指定 mapping.getInputForward() 而不是 mapping.findForward()。
Struts 配置文件:
<action input="test.jsp"
name="testActionForm"
path="/test"
scope="session" type="package.TestActionController">
</action>
动作控制器:
public ActionForward doMethod(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
return mapping.getInputForward();
}