<constant name="struts.devMode" value="true"/>
<package name="actions" extends="struts-default" namespace="/actions">
<action name="*_*" class="com.struts2.action.{1}Action" method="{2}">
<result>/{1}_{2}_success.jsp</result>
</action>
</package>
struts2-core2.1.6.jar/struts-default.xml
user|add?name=1&age=2
user|add?user.name=1&user.age=2
1.域模型DomainModel
vo do dto
2.参数接受Action implements ModelDriver<Object> 泛型
private User user=new User();
此方法必须有
public User getModel(){
return user;
}
user|add?name=1&age=2
3.result类型
默认:dispatcher 服务器跳转 只能视图(客户端根本不知道)
redirect 重定向 只能视图 (浏览器显示的是 jsp)
chain action 其他包中的ACTION
<result type="chain">
<param name="actionName">dashborad</param>
<param name="namespace">/secure</param>
</result>
redirectAction 客户端跳转 action
stream 下载
4.动态结果集(池站中)
<action name="user" class="com.sturts2.TxAction">
<result>${r}</result>
</action>
在TxAction中有一个属性为r,它有get和set方法
public String exectute() throws Exception{
if(type==1) r="/user_success.jsp";
else if(tpye==2) r="/user_error.jsp";
return "success";
}
5.带参数的结果集
eg:
<action name="user" class="com.sturts2.TxAction">
<result type="redirect">/user_success.jsp?t=${type}</result>
</action>
在TxAction中有一个属性为type,它有get和set方法,bu
public String exectute() throws Exception{
return "success";
}
注意:一次request只有一个池站,服务器端的forward ,共享一个池站,不用传数值
from valuesstack:<s:property value="r"/>
from actioncontext<s:property value="#parameters.t"/>
6.全局参数
<global-results>
<result name="mainpage">/main.jsp</result>
</global-results>
<package name="*" namespace="*" extends="继承的包名">
</package>
extends作用:配置公用的时候,主要配置,其他包都在这里继承