【问题标题】:struts action mapping action input attributestruts 动作映射动作输入属性
【发布时间】:2011-07-11 01:09:20
【问题描述】:

在谈到 Java 和 Struts 时,我是个菜鸟(我觉得自己像 Java 世界中的 .Net 男孩)。

action 元素的 input 属性是做什么用的?所以在下面的例子中,输入是 someinput.jsp。

<action path="/somepath" 
        type="SomeAction" 
        name="SomeForm" 
        scope="session"
        input="someinput.jsp">

【问题讨论】:

    标签: java struts-config


    【解决方案1】:

    如果表单 bean SomeForm 返回验证错误,它将返回页面 someinput.jsp。引用corresponding DTD

    仅在指定“名称”时有效。如果指定了“名称”,则为必需 并且输入 bean 返回验证错误。如果“名称”是可选的 指定且输入 bean 不返回验证错误。

    【讨论】:

      【解决方案2】:

      如果对name 属性中指定的表单的验证失败,Struts 会将用户转发到input 属性中指定的页面/操作。

      【讨论】:

        【解决方案3】:

        尽管如此,在您的动作执行中(无论是单个动作单元,还是多个动作单元),也可以指定结果,即SUCCESSFAILUREINPUT .

        【讨论】:

          【解决方案4】:

          Struts 验证器插件将从视图中接收创建的表单 bean 实例,并在进入控制器之前进行验证,如果数据违反最终用户验证规则,则错误对象在输入属性视图中被消化,指定为一个值

          【讨论】:

            【解决方案5】:

            用于重定向到输入属性中的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();
            }
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2012-02-15
              • 2012-07-07
              • 1970-01-01
              相关资源
              最近更新 更多