struts-config.xml中:
如果没有设置attribute属性,前台页面使用request.getAttribute("calForm")来获得表单信息。
如果设置了attribute属性,前台页面必须使用request.getAttribute("testForm")来获得表单信息。
<action path="/cal"
type="com.bjsxt.struts.CalAction"
name="calForm"
scope="request"
attribute="testForm"
>
查看Struts流程知:
1RequestProcessor.class中:
protected ActionForm processActionForm(HttpServletRequest request, HttpServletResponse response, ActionMapping mapping) {
if ("request".equals(mapping.getScope())) {
request.setAttribute(mapping.getAttribute(), instance);//跳转到2
} else {
HttpSession session = request.getSession();
session.setAttribute(mapping.getAttribute(), instance);
}
return (instance);
}
2ActionConfig.class中:
//如果<action-mappings>标签中attribute为空,返回的是<action-mappings>标签中的name属性。
public String getAttribute() {
if (this.attribute == null) {
return (this.name);
} else {
return (this.attribute);
}
}