Struts2

来源:互联网 发布:淘宝上亚马逊会员代买 编辑:程序博客网 时间:2024/06/07 03:44

Struts2

1.    mvc模式:模型视图控制器

2.    namespace<packagename="oo"extends="struts-default"namespace="/test">表示处理结果指向WebRoot下的test文件下的jsp,访问时的地址也要/test/xx.action

3.    action搜索步骤

访问路径:xx/path1/path2/xx.action

判断包是否存在------>存在就去namespace的packet里面寻找action----->如果没有存在就报错-------->不存在就去上一级的packet是否存在,重复之前操作

4.  为了避免太多action来处理,一般是execute()方法处理,也可以在action标签里面配置,比如<action name=”addAction” method=”add” class=”…”></action>意思是当访问addAction.action时,会调用class类下的add方法

或者使用通配符,e.g         

<constant name=”struts.enable.DynamicMethodInvocation”value=”true”></constant>

            <action name=”xx_*” method=”{1}” class=”…”><resultname=”add”>{1}.jsp</result>         {1}代表配第一个*   访问xxx/xx_add.action----->跳转到add.jsp

5.  <includefile=””>包含不同的配置文件

6.   <default-action-refname="index"></default-action-ref>

<actionname="index">

<result>/index.jsp</result>

</action>路径不存在时,可以跳转到这个页面

7.  更改访问后缀,如:html;      <constantname=”struts.action.extension” value=”html”></constant>          !value为空时,匹配所有后缀      或者在web.xml里面<filter> <init-param><param-name>struts.action.extension</param-name><parm-value>do</parm-valuue></init-param>

8.  传参数    

1)使用Action的属性接收参数      privateString username;名和表单的name一样

2)单独设置个类User,里面包含username,password

      在Action里面private User user;User类里面包含getusername,setusername方法           表单里面name为user.username  如果是private User user=new User();表单只要写username

3)List<String>xx;页面name设置为xx[0],即给List赋值           如果是 List<User>xx;name设置为xx[0].username

9.返回值      默认success         不返回页面none       页面有错误input(在execute()中,this.addFieldError(“username”,””);后面要添加return INPUT;也可以重写validate()函数,直接this.addFieldError(“username”,””);)

 

 

 

 

 

 

 

 

原创粉丝点击