在struts2中,如何重定向到带有附加参数的jsp

在struts2中,如何重定向到带有附加参数的jsp,jsp,parameters,struts2,interceptor,Jsp,Parameters,Struts2,Interceptor,我有一个拦截器,它需要中止一个操作并重定向到一个新页面。目前,它返回一个字符串,如go_to_foo。这很好,但我还想向操作发送一个附加参数。我尝试在struts.xml中配置该结果,如: <global-results> ... <result name="go_to_foo"> <param name="location">foo.jsp</param>

我有一个拦截器,它需要中止一个操作并重定向到一个新页面。目前,它返回一个字符串,如go_to_foo。这很好,但我还想向操作发送一个附加参数。我尝试在struts.xml中配置该结果,如:

<global-results>
            ...
            <result name="go_to_foo">
                <param name="location">foo.jsp</param>
                <param name="testing">mark</param>
            </result>
</global-results>
我得到以下异常:在对类型“org.apache.struts2.dispatcher.ServletDispatcherResult”设置属性“testing”时捕获到OgnlException。我想知道这是否是因为请求对象不知道任何“测试”参数

或者,我还想知道拦截器是否可以在返回字符串go_to_foo之前添加/修改请求的参数,以便它们在foo.jsp中仍然可用。如果这样的事情是可能的,也许我不需要上面的东西

我希望这已经足够清楚了

谢谢, 标记您忘记了type=redirect属性

<result name="go_to_foo" type="redirect">
     <param name="location">foo.jsp</param>
     <param name="testing">mark</param>
</result>
您忘记了type=redirect属性

<result name="go_to_foo" type="redirect">
     <param name="location">foo.jsp</param>
     <param name="testing">mark</param>
</result>
标记用于在结果上设置参数,而不是将查询字符串参数添加到重定向

e、 例如,mark正在尝试调用ServletRedirectResult类上的setTestingmark。没有这样的方法

Try:foo.jsp?testing=mark

还有,你真的需要重定向吗?为什么不将所需参数添加到操作上下文并继续?

该标记用于设置结果参数,而不是将查询字符串参数添加到重定向

e、 例如,mark正在尝试调用ServletRedirectResult类上的setTestingmark。没有这样的方法

Try:foo.jsp?testing=mark


还有,你真的需要重定向吗?为什么不将所需的参数添加到操作上下文并继续?

btw,我按照这里的说明进行操作:btw,我按照这里的说明进行操作:很好的捕获,不幸的是,我仍然得到相同的异常。不幸的是,它对我不起作用。参数映射没有我在结果中设置的参数。知道哪里出了问题吗?我正在使用defaultStackgood catch,不幸的是我仍然得到相同的异常。不幸的是,它对我不起作用。参数映射没有我在结果中设置的参数。知道哪里出了问题吗?我使用的是DefaultStack实际上,我尝试的第一件事是foo.jsp?testing=mark,但在foo.jsp中没有找到任何东西。在发布这个问题之后,我尝试将“测试”添加到ValueStack中,也添加到参数中,但没有成功,我可能做得不对。我认为您使用“将所需参数添加到操作上下文”的方法是正确的。我不确定操作上下文是否会在重定向后继续存在。正如你所看到的,我仍然在思考Struts2架构;你能举一些例子吗?谢谢实际上,我尝试的第一件事是foo.jsp?testing=mark,但在foo.jsp中没有找到任何东西。在发布这个问题之后,我尝试将“测试”添加到ValueStack中,也添加到参数中,但没有成功,我可能做得不对。我认为您使用“将所需参数添加到操作上下文”的方法是正确的。我不确定操作上下文是否会在重定向后继续存在。正如你所看到的,我仍然在思考Struts2架构;你能举一些例子吗?谢谢
${parameters.testing[0]}