struts2.0学习心得

:property 等类似标签, 访问的只是bean中的GET SET方法 而非变量。
//******************************************************************************
使用equals时,如果需要与常量比较,那么将常量放在前面,这样会防止出现nullPoint异常。

if(null == username || username.length()<6||username.length()>10) 第一个判断 null==username 可以防止用户直

接通过地址访问action 导致的 nullpoint异常。


//******************************************************************************
常用验证

< field  name ="password" >  
< field-validator  type ="requiredstring" >  
< param  name ="trim" > true  </ param >  
< message > 密码不能为空  </ message >  
</ field-validator >  

< field-validator  type ="stringlength" >  
< param  name ="minLength" > </ param >  
< param  name ="maxLength" > 16  </ param >  
< message > 密码必须在${minLength} 到 ${maxLength}之间  </ message >  
</ field-validator >  
</ field >  

 

<!-- 验证重复密码 -->
//*****************************************************************************************

< field  name ="repassword" >  
< field-validator  type ="requiredstring" >  
< param  name ="trim" > true  </ param >  
< message > 重复密码不能为空  </ message >  
</ field-validator >  

< field-validator  type ="fieldexpression" >  
            
< param  name ="expression" > password == repassword  </ param >  
            
< message > 两次输入的密码不一致  </ message >  
        
</ field-validator >  
</ field >
< field  name ="customer.csaAddress.zipcode" >
  
< field-validator  type ="requiredstring" >
   
< message > CSA Zip required! </ message >
  
</ field-validator >
  
< field-validator  type ="regex" >
   
< param  name ="expression" > ^\d{5}$ </ param >
   
< message > <![CDATA[ CSA Zip must 5 digits  ]]> </ message >
  
</ field-validator >
 
</ field >

 

 Calendar  没有构造方法 需使用Calendar c1=Calendar.getInstance(); 实例化。
//*****************************************************************************************

传参时中文乱码解决方式
修改位于Tomcat/conf目录下的server_xml文件如下
<Connector port="8080" protocol="HTTP//1.1"
  maxThreads="150" connectionTimeout="20000"
  redirectPort="8443" URIEncoding="UTF-8"/>
编写过滤器 建立一个新类 此类需实现 Java-servlet-Filter接口
在类中的doFilter方法中增加
 request.SetCharacterEncoding("utf-8");
 Param.doFilter(request,response);
再修改web.xml 加入

< Filter >


< Filter-name > Fname </ Filter-name >
< Filter-class > "类所在位置" </ Filter-class >
</ Filter >
< filter-mapping >
  
< filter-name > Fname </ filter-name >
  
< url-pattern > /* </ url-pattern >
 
</ filter-mapping >


//*****************************************************************************************
使用ModelDriven时 一定要先实例化... 一定啊一定。 开了瓶子盖儿才能往里注水  不是么。
//*****************************************************************************************
今天遇到个问题  action中没有指定method 但是它不走默认的execute方法 直接跳转到INPUT指定的页面  百思不得其解  后在那张页面加入了
<s:fieldError> <s:actionError>  显示“Invalid field value for field "stu_arriveDate". ” 这才知道是有数据类型错误
//*****************************************************************************************
setBean时使用  ServletActionContext.getRequest().setAttribute(String, Object);
setList时使用 ActionContext.getContext().getSession().put(String ,  Object);

 

你可能感兴趣的:(tomcat,xml,bean,Web,servlet)