我正在使用struts2和hibernate开发一个java项目 我有一个超级动作类将其命名为ProjAction,在该项目管理中,每个事件都会遇到主要的超级类。 在将数据保存到超级操作类并提供结果后,我将一个子操作类命名为saveDataAction。 因此,对于超级动作类,我可以使用struts2配置文件中的商店拦截器为其各自的动作类结果显示动作消息。我使用了operationMode作为' AUTOMATIC'
现在要避免刷新问题我有一个动作类名称,它是ProjRedirectAction。因此,在此操作类中,我无法在保存数据后显示/检索操作消息
任何人都可以告诉我如何使用商店拦截器访问ProjRedirectAction类中的操作消息。或者有没有办法向struts2的多个动作类显示动作消息。
public class SuperAction extends ActionSupport {
public String getData() {
//implementation for showing the data in the jsp page
//the result is always redirect to some default.jsp
return SUCCESS;
}
//private method which accessed by its child class for redirecting to superclass
public String nextCall() {
//few implementation done after that it calls the getData() method
return getData();
}
}
//Child Class implementaion for ex saving records in db
public class ChildAction extends SuperAction {
public String saveData() {
//saving data to db and then calling the return nextCall method of superACtion class
return nextCall();
}
}
//早些时候我有这个实现,之所以在我的项目中添加一个动作类是为了避免刷新问题(在刷新相同的值时插入到DB)所以我添加了一个名为RedirectAction的动作类< / p>
// RedirectACtion类实现
public class RedirectAction {
public String execute() {
//this method is having same implementation as the method getData() of SuperAction class includes
return SUCCESS;
}
}
// struts.xml config
<package name="default" extends="struts-default" namespace="/">
//SuperACtion class result
<action name="*Super" method="{1}" class="com.action.SuperAction">
<interceptor-ref name="store">
<param name="operationMode">AUTOMATIC</param>
</interceptor-ref>
<result name="SUCCESS" type="redirectAction">executeRedirect</result>
</action>
//ChildACtion class result
<action name="*Child" method="{1}" class="com.action.ChildAction">
<interceptor-ref name="store">
<param name="operationMode">AUTOMATIC</param>
</interceptor-ref>
<result name="SUCCESS" type="redirectAction">executeRedirect</result>
</action>
//RedirectACtion class result
<action name="*Redirect" method="{1}" class="com.action.RedirectAction">
<interceptor-ref name="store">
<param name="operationMode">AUTOMATIC</param>
</interceptor-ref>
<result name="SUCCESS" type="tiles">Default.jsp</result>
</action>
这个问题我没有找到任何解决方案,任何帮助都非常适合 谢谢