看来我应该能够在strut.xml中定义PER结果中的参数,而不是全局,但我无法让它工作。这是有用的:
<action name="actThing" class="Thing" method="execute">
<interceptor-ref name="newStack" />
<param name="parentObject">Parent</param>
<result name="Edit">jspEditThing.jsp</result>
<result name="Add">jspAddThing.jsp</result>
</action>
在这种情况下,当调用Thing.execute时,会设置parentObject
变量。但是在这里:
<action name="actThing" class="Thing" method="execute">
<interceptor-ref name="newStack" />
<result name="Add">
<param name="location">jspAddThing.jsp</param>
<param name="parentObject">Parent</param>
</result>
<result name="Edit">jspEditThing.jsp</result>
</action>
它没有。由于它在第一种情况下工作,我当然有适当的设置/ getter,我没有得到任何类型的错误。我错过了什么?
感谢。
答案 0 :(得分:0)
它不起作用,它不应该是因为参数应用于结果,而不是动作。结果在动作之后执行,并且所有参数都应该已经设置。
param标记在
CONTAINS ('%To be auctioned%') THEN 42
对象上设置属性。最常见的属性是Result
,它通常指定Web资源的路径。location
属性是另一个智能默认值。
答案 1 :(得分:0)
<action name="actThing" class="Thing" method="execute">
<result name="Add">
<param name="includeProperties">Parent.*</param>
</result>
</action>
现在,您的Parent对象及其所有属性和子对象都可用。