一个Struts2新手问题

发布于 2024-09-25 00:26:53 字数 574 浏览 1 评论 0原文

情况是这样的。

我有3个动作 1. 动作/create_something 2. 动作/save_something 3. action/preview_something

我从 www.site.com/action/create_something 开始,

填写一些信息并提交一个表单,该表单传递给 save_something 操作

save_something 根据表单输入创建一个对象 foo 。 foo 现在有一个字段调用 ID(“123”)。然后,它将 foo 中的一些相关数据保存到数据库中,并使用 id 参数转发到preview_something。

现在我在 www.site.com/action/preview_something?id=123

我获取 id 并通过访问数据库创建 foo 。在页面上我显示了 foo 中的各个字段。

好吧...我的问题是这样的:

是否有必要将 id 传递给 action/preview_something 并再次访问数据库? 我还可以使用 foo 吗?我的对象 foo 是否仍然存在于我的操作类的范围内?

很抱歉这里发生了新鲜事。

Here is the situation.

I have 3 actions
1. action/create_something
2. action/save_something
3. action/preview_something

I start at www.site.com/action/create_something

I fill in some info and submit a form which passes to the save_something action

save_something creates an object foo based on the form inputs. foo now has a field call id ("123"). It then saves some data relevant from foo into the database and forwards to preview_something with the id parameter.

Now I am at www.site.com/action/preview_something?id=123

I take the id and create foo by hitting the database. On the page I display the various fields in foo.

Ok... my question is this:

Is it necessary to pass id to action/preview_something and hit the database again?
Is foo still available to me? Does my object foo still exist in the scope of my action class?

Sorry for the newbishness going on here.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

赏烟花じ飞满天 2024-10-02 00:26:53

好的,在您的案例中,参数在预览中不再可用。

可能的解决方案#1:

您的struts Action可以实现 ServletRequestAware。然后,您可以在 save() 方法中将 foo 对象保存到会话中,然后在 preview() 中读取它。

可能的解决方案#2:

save() 中,您只需返回 preview() ,整个作用域(对象 foo、参数...)将保持与中相同保存()

这将是最简单的方法。

Ok, parameter is not available anymore in preview with your case.

Possible solution #1:

Your struts Action can implement ServletRequestAware. Then you can save your foo object to session in save() method and then read it in preview().

Possible solution #2:

In your save() you can just return preview() and whole scope (object foo, parameters,...) will stay the same as in save().

This would be the easiest way to do it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文