1.Default mappings (默认映射):其实就是访问那些没有配置过Action的JSP页面,也能像访问Action那样访问。
比如说在项目${root}/leo/a.jsp 有这么一个a.jsp.
我可以在地址栏里输入:http://localhost:8080/项目名称/leo/a.action 来访问这个 a.jsp
效果与 http://localhost:8080/项目名称/leo/a.jsp是一样的。类似于咱们在welcome-file 那里定义的index,
这就是默认映射。
2.Default results (默认结果):其实就是无须显示的在struts-*.xml里配置那些返回 jsp, vm. ftl视图的Action。
比如说,我有一个以下配置文件, 没有result.
Action文件是这样的:
package code;
import com.opensymphony.xwork2.ActionSupport;
public class LeoAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private String flag = "";
public String getFlag() {
return flag;
}
public void setFlag(String flag) {
this.flag = flag;
}
public String execute() {
if (flag == null || flag.equals("")) {
this.addActionMessage("input message");
return INPUT;
} else if (flag != null && flag.equals("error")) {
this.addActionError("error happen");
return ERROR;
} else {
this.addActionMessage("I am leo");
return SUCCESS;
}
}
}
故意设置了一个 flag 来查看结果。 通过,http://localhost:8080/项目名称/leo/leo.action?flag=测试值
你会发现,
INPUT 对应 http://localhost:8080/项目名称/leo/leo-input.jsp
ERROR 对应 http://localhost:8080/项目名称/leo/leo-error.jsp
SUCCESS 对应 http://localhost:8080/项目名称/leo/leo-success.jsp
这就是默认结果的意思。
下面是codebehind的path示例:
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">