我正在使用<s:form action="someAction">
我的struts.xml包含
<action name="someAction"
class="com.test.testaction.getValue"
method="getValuedemo">
<result name="success" type="redirectAction">demo</result>
</action>
而我的行动包含
public class getValue extends ActionSupport{
private String userName;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getValuedemo() {
userName = "tmpUser";
}
}
我的问题是如何在demo.action中获取userName属性?????请帮忙
答案 0 :(得分:6)
您可以将userName作为参数传递
<action name="someAction" class="com.test.testaction.getValue" method="getValuedemo">
<result name="success" type="redirectAction">
<param name="actionName">demo</param>
<param name="userName">${userName}</param>
</result>
</action>
还在演示操作中添加userName getter / setter
答案 1 :(得分:1)
与特定操作关联的值是按请求。如果在操作中设置值然后重定向,则这些值将丢失。如果getValue只是重定向到demo,那么getValue操作的目的是什么?为什么不在DemoAction上使用userName getter和setter?
请修改您的问题,以提供有关您要执行的操作的详细信息。
此外,您的操作名称不符合类的Java命名约定,该命名约定应以大写字母开头。此外,您可能希望为GetValue提供更好的操作名称。
答案 2 :(得分:0)
首先使用链式结果类型......
<result name="success" type="chain">demo.action</result>
然后阅读有关拦截器的内容,以便您可以避免使用chain,redirect,redirectAction。