0

我有一个名为 diary.jsp 的 jsp 页面,其中与之关联的操作类称为 DiaryAction,在这个类中,我使用 populate 方法来预填充字段。当我第一次使用 URL 中的 PopulateDiary.action 访问页面时,这按预期工作,即

<li><a href="populateDiary.action">Profile</a></li>

但是,作为此页面的一部分,我有一个表单,用户可以在其中添加新的日记条目。在提交此表单时,我调用以下操作:

<action name="addDiaryEntry" method="addDiaryEntry"    
    class="spirit.of.community.action.classes.DiaryAction">
    <result name="success">/diary.jsp</result>
</action>

这是调用正确的代码来添加新的日记条目。但是,在此操作方法成功后,我想再次显示相同的页面,即 diary.jsp 和填充的数据(以包括更新的条目)。我已将这一行放在我的 diary.jsp 页面中,希望这能实现我的目标:

<s:action name="populateDiary"></s:action>

现在,当 diary.jsp 加载时,我可以看到 populate 方法被调用。但是该页面没有填充我的任何数据。如果它有任何重要性,提交表单时的 URL 是 - “/addDiaryEntry.action”。谁能告诉我如何调用我的 addEvent 方法来添加一个新条目,然后用更新的数据重新加载页面?任何建议表示赞赏!提前致谢!

4

1 回答 1

1

你有几种方法可以做到这一点,他们在这里

  1. 当您调用addDiaryEntry操作添加日记实例时,您可以创建所有条目的列表,并可以使用迭代器按照您的方式显示数据。
  2. 另一种方法是<s:action name="populateDiary" executeResult="true">.

执行结果告诉是否应该执行/呈现此操作的结果(可能是视图)。

有关更多详细信息,请参阅执行操作

于 2012-09-02T12:02:07.530 回答