如何承载<;s:actionerror/>;从一个jsp页面到另一个?

如何承载<;s:actionerror/>;从一个jsp页面到另一个?,jsp,struts2,struts,struts-validation,struts-html,Jsp,Struts2,Struts,Struts Validation,Struts Html,下面是: 我正在通过以下方式刷新名为index.jsp的页面 <head> <meta http-equiv="Refresh" CONTENT="0;URL=populatefields.action"> </head> 它在呼唤我的行动。下面是我的struts.xml中的映射 <struts> <package name="com.action" extends="struts-default"

下面是: 我正在通过以下方式刷新名为index.jsp的页面

<head>
        <meta http-equiv="Refresh" CONTENT="0;URL=populatefields.action">

</head>

它在呼唤我的行动。下面是我的struts.xml中的映射

 <struts>

        <package name="com.action" extends="struts-default">
            <action name="*fields" method="{1}" class="com.action.RegisterAction">
    <result name="populate">/register.jsp</result>
    <result name="fields">/success.jsp</result>
<result name="error">/index.jsp</result>
    </action>

/register.jsp
/success.jsp
/index.jsp
我在这里所做的是在加载index.jsp时,我用这个url
“populatefields.action”刷新了index.jsp。这将调用my action类和
填充
方法(通配符方法调用)它使用控件register.jsp,其中一些值已经填充。[即根据当前用户动态填充表单的一部分]

在register.jsp上,如果存在如下验证检查
if(getUssername.equals(“”)
{this.addActionerror(“空字段-Uname-”);返回错误;}

问题是在返回“error”时,控件转到index.jsp,然后填充方法和自动字段,但填充方法不会引发任何错误,因此为空…或错误丢失。。。
你知道我怎样才能查到这些错误吗?通过在我的动作课中设置dem global?actionerrors出现在index.jsp中,但我想在每次加载该页面时都刷新该页面以从数据库中选取值……我可以将ActionError的值从一个jsp页面转移到另一个jsp页面吗?

完成:我从没想过会这么容易。。无需传输
的值。但如果整个页面不刷新且仅包含
标记,则可以使用
传输整个页面。例如,当您使用
链接调用您的操作时,而不是在本例中刷新其操作方式。。但在我的情况下,我想刷新一下,就这样吧:

在键入returnerror之前;将populate方法的内容复制到execute方法中。比如

execute{
if(validation fails){populate method content(leave the return statement); 
  return error;
 }
else
return success;
}
在struts.xml中,更改此/register.jsp而不是
/index.jsp

也不需要在index.jsp中编写
,因为您现在将其重定向到register.jsp,所以只需在register.jsp中编写它即可

现在刷新基金会工作,带你去登记表。。
如果验证失败,请立即尝试提交。同一页面将被调用,其中包含填充的字段:D和操作错误…

完成:我从没想过会这么容易。。无需传输
的值。但如果整个页面不刷新且仅包含
标记,则可以使用
传输整个页面。例如,当您使用
链接调用您的操作时,而不是在本例中刷新其操作方式。。但在我的情况下,我想刷新一下,就这样吧:

在键入returnerror之前;将populate方法的内容复制到execute方法中。比如

execute{
if(validation fails){populate method content(leave the return statement); 
  return error;
 }
else
return success;
}
在struts.xml中,更改此/register.jsp而不是
/index.jsp

也不需要在index.jsp中编写
,因为您现在将其重定向到register.jsp,所以只需在register.jsp中编写它即可

现在刷新基金会工作,带你去登记表。。
如果验证失败,请立即尝试提交。同一页面将被调用,并带有填充的字段:D和操作错误…

如果您想要更复杂的动态行为,则只能使用html。最简单的方法是使用AJAX。这里有许多使用JSON插件的例子。你所要求的可能是将错误推到会话中,但这是一个脆弱的解决方案,不适用于许多类型的web应用程序,因此最好坚持使用在大多数情况下都有效的方法。它检查了我的答案了吗!如果您想要更复杂的动态行为,那么只能使用html,最简单的方法就是使用AJAX。这里有许多使用JSON插件的例子。你所要求的可能是将错误推到会话中,但这是一个脆弱的解决方案,不适用于许多类型的web应用程序,因此最好坚持使用在大多数情况下都有效的方法。它检查了我的答案了吗!通常,通过使用
“input”
结果作为表单来处理这个问题。S2将在验证失败时自动转发到输入结果。看起来你正在做一大堆手工工作,框架已经具备了相应的功能。对,如果你命名了一个名为myform-input.jsp的输入表单,并使用了约定插件,你可能不需要做任何事情,只需要遵循命名约定。通常,这将通过使用
“input”来处理
将结果作为表单。S2将在验证失败时自动转发到输入结果。看起来你正在做一系列的手工工作,框架已经具备了相应的功能。对,如果你命名了一个名为myform-input.jsp的输入表单,并使用了约定插件,除了遵循命名约定之外,你可能不需要做任何事。