Struts2:如何在URL中传递结果类型调度程序的参数[默认]

时间:2011-06-20 07:10:11

标签: url struts2

当然,参数可通过网址结果类型 Redirect / Redirect Action),
或通过@Action(params)Static Parameters Interceptor

传递给操作

我想要什么

id=123validation errors

之后

@Result(name="input")必须存在于网址

/update?id=123

RESTful 网址格式相似(Struts2-rest-plugin不予考虑):

/update/123

我使用redirect-after-post technique + Message Store Interceptor进行成功操作,但这不能用于input之后的validation errors,因为操作数据(包括无效)数据)将丢失/恢复为默认值。

欢迎任何解决方案/建议。感谢。

1 个答案:

答案 0 :(得分:3)

您是否尝试过通配符来捕获数据?

以下是一些struts2文档的链接(快速阅读我觉得它不是很有用):http://struts.apache.org/2.0.6/docs/wildcard-mappings.html

但是,如果您按照这篇文章和解决方案进行操作,您将清楚地看到如何从URL中捕获数据(虽然该问题的海报更有兴趣排除部分网址,但它只是使主题更加完整) :Struts2 Wildcard action mapping with dummy data

您的问题可能主要是因为使用了“重定向后发布”。在struts2中执行此操作几乎没有价值。一般来说,使用自定义拦截器可以更好地解决这一问题,因为这些拦截问题可以解决您对这些操如果您担心双重提交,TokenInterceptor拦截器已经解决了这个问题。