【问题标题】:Update object in Struts action with form values from JSP使用来自 JSP 的表单值更新 Struts 操作中的对象
【发布时间】:2010-06-17 16:05:40
【问题描述】:

我有一个 struts2 操作,它构建一个表单并使用来自我的对象实例的数据预先填充字段。当我单击此表单上的提交时,我会执行第二个操作,即我的 formSubmit 操作。在这里,我希望使用表单中的任何新值来更新对象。有没有一种简单的方法可以在我在 struts2 中的第二个操作中访问同一个对象?

如果可能的话,我希望将我的对象保持在请求范围内,而不是会话范围内。

【问题讨论】:

  • 您不能将其保留在请求范围内。第二个动作涉及一个全新的、完全不同的 HTTP 请求。当相关响应完成时,初始请求中的对象早已被丢弃。要么创建一个新对象,要么存储在会话中。我不做 Struts,所以我没有详细回答我该怎么做。

标签: forms jsp struts2 struts-action


【解决方案1】:

如果可能的话,我想保留 我的对象在请求范围内,而不是 比会话。

嗯,这是不可能。想一想:“请求范围”在请求开始(用户单击按钮)时诞生,并在请求(显然是同一个请求)结束时(当数据发送到浏览器时)终止。您希望将对象保留在更长寿命的范围内(可能是会话)。或者,如果数据来自数据库,则在两个请求中再次加载它(如果担心并发更改,可能使用一些乐观锁定)。这些是典型的做法。

【讨论】:

  • 我认为他仍在寻找如何在会话范围内做到这一点的答案。还是我弄错了,只是将其设置为会话范围就足够了吗? (如在 JSF 中)
  • 好吧,我可以使用会话范围来更新表单中的对象吗?我创建了一个相关的、更具体的问题:stackoverflow.com/questions/3719614/…
猜你喜欢
  • 1970-01-01
  • 2012-05-17
  • 2014-03-30
  • 1970-01-01
  • 1970-01-01
  • 2016-07-13
  • 2016-08-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多