struts2使用总结

阅读更多

---------------------------源码及文档位置-------------------------------------------------------------------------------------------

源码位置:strtus-2.1.6/src/core/src/main/java

文档位置:strtus-2.1.6/strtus2-core/apidocs

jar包 加源码 加文档

---------------------------源码及文档位置--------------------------------------------------------------------------------------------

 

 

---------------------------web.xml中配置strust访问形式---------------------------------------------------------------------------

web.xml 中 /* , *.action 映射方式都可以,但是建议/*
访问时可以省略.action  例如: http://localhost:8080/myproject/hello  (hello.action)

---------------------------web.xml中配置strust访问形式---------------------------------------------------------------------------

 

 

----------------------------------- struts.xml中配置开发模式---------------------------------------------------
开发模式,不用重新发布

 

----------------------------------- struts.xml中配置开发模式---------------------------------------------------

 

 


myEclipse--window 搜索 catalog --XML Catalog 增加 struts.dtd

 

 

--------------------Action三种实现形式----------------------------------------------------

1、直接XxxAction 内有excute()方法

2、实现Action接口

3、继承ActionSupport
推荐 继承 ActionSupport  不用实现Action接口的写法

--------------------Action三种实现形式----------------------------------------------------

 

---------------------jsp中设置basePath绝对路径-------------------------------------------------------------------
jsp中


---------------------jsp中设置basePath绝对路径-------------------------------------------------------------------

 


---------------------------------strtus.xml-----------------------------------------------------------------------------------------------
通配符  约定优于配置

   
   
       
        model_1/{1}_{2}.jsp
   

   


   
   
       
       
        index.jsp
       

   



---------------------------------strtus.xml-----------------------------------------------------------------------------------------------


-------------------Action 三种接收参数形式-----------------------------------------------------------------------------------
1、Action定义变量,2、DomainModel,3、继承ModelDriver 实现getModel方法
Action 中 用VO继承DomainModel 的形式,User.name。。。避免Action中代码过乱

XXXAction implements ModelDriver{
private User user = new User();
@Override
public User getModel(){
   return user;
}
}
-------------------Action 三种接收参数形式-----------------------------------------------------------------------------------

-------------------------------------------------表单校验-----------------------------------------------------------------------

extends ActionSupport

用父类的
addFieldError("passwordError","密码长度不足8位");
addFieldError("passwordError","密码中至少包含1个字母1个数字1个特殊字符");
页面中两种方式:

passwordError1:
passwordError2:

-------------------------------------------------表单校验-----------------------------------------------------------------------

---------------------------------------------resultType------------------------------------------------------------------------

       
        /reLogin.jsp
   

   
         a1.jsp
     

     
        
         action1
         /space_x
        

     



dispatcher 服务器端跳转
redirect 客户端跳转
chain 跳转到另一个Action
redirectAction 客户端跳转另一个Action

---------------------------------------------resultType------------------------------------------------------------------------

 

-------------------------动态结果集---------------------------------------------------------------------------------------------

       
   
         ${resultStr}
        
         a.jsp?t={type}
     

     


puglic XXXAction{

private String resultStr;
private int type;

public void setResultStr(String str){
   this.resultStr = str;
}
public String getResultStr(){
   return resultStr;
}
public void setType(int i){
   this.type = i;
}
public int getType(){
   return type;
}

public String execute() throws Exception{
 
    switch(type){
      //这种方式在程序里写死,不常用
      case 0: resultStr = "a0.jsp"; break;
      case 1: resultStr = "a1.jsp"; break;
      case 2: resultStr = "a2.jsp"; break;
         .
         .
      default:resultStr = "default.jsp";
    }
  

    return resultStr;
}

public String add(){

   return "addResult";

}

}

-------------------------动态结果集---------------------------------------------------------------------------------------------


-------------------------OGNL----------------------------------------------------------------------------------------------------------------------------



取所有user的age组成一个数组
等价于



访问Map所有的key
访问Map所有的values
| 访问Map大小
投影





-------------------------OGNL----------------------------------------------------------------------------------------------------------------------------


--------------------------------------------strtus2标签------------------------------------------------------------------------
  不建议用name或id,建议用var
struts.xml

新建一个文件夹src/template/mysimple
把strtus-core下的主题 拷贝过来,src/template/mysimple/fielderror.ftl 重写fielderror.ftl 文件(freemarker语言)覆盖struts样式
--------------------------------------------strtus2标签------------------------------------------------------------------------



------------------------------------propertiesEditer插件---------------------------------------------------------------------
propertiesEditer插件,properties 中的中文必须是UTF-8的编码(\u6b22\u8fce),编写不方便,尤其的国际化的时候,
所以下载个propertiesEditer插件到MyEclipse很是必要
jp.gr.java_conf.ussiy.app.propedit_5.3.3.zip
------------------------------------propertiesEditer插件---------------------------------------------------------------------

 


-------------------------------------token防止重复提交-----------------------------------------------------------------------



 
 
       /manage/input.jsp
 

 
       /manage/ok.jsp
      
      
       /token.jsp
 




input.jsp


-------------------------------------token防止重复提交-----------------------------------------------------------------------

你可能感兴趣的:(struts2)