常用结果类型
chain - Action处理完成用户请求之后,转发到下一个Action继续处理。
redirectAction - 重定向到一个Action
dispatcher - 默认值。转发到jsp页面
redirect - 重定向到jsp页面
也就是说两个用来请求jsp,两个用来请求Action。
全局Result与局部Result:
Result元素放在Action元素中,就是局部result。
Result元素放在global-results元素中,属于全局result。
执行顺序:
先到局部Result中查找对应的结果,如果找不到才会到全局Result中查找与逻辑视图名称对应的结果。
注意:
1.尽量少用全局result,只有在多个Action都具有某个通用性质的result时,才会考虑使用全局result。|
2.不同的Result类型,需要不同的参数。
动态结果
在前面的例子中我们就使用过动态调用Action中的某个方法。在struts.xml中,想调用Action中的某个属性值的时候,就可以使用动态结果,我们只是将以前的表达式{1},中的1换成了属性名。
例如:
public class UserAction extends ActionSupport {
private String name;
………
}
上面代码中UserAction中有一个name属性,并且实现了set和get方法。这样在struts.xml文件中就可以获取该属性的值。代码如下:
<package name="user" namespace="/" extends="struts-default">
<action name="UserAction" class="action.UserAction">
<result name="login_success">${name}.jsp</result>
</action>
</package>
使用${name}表达式就可以取出name属性的值,实现动态结果(根据不同结果跳转不同的页面)。