首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

一口一结巴掉Struts(四)——几个知道就可以的属性

2013-03-22 
一口一口吃掉Struts(四)——几个知道就可以的属性先看struts-config.xmlaction path/login typecom.ji

一口一口吃掉Struts(四)——几个知道就可以的属性

先看struts-config.xml

<action path="/login" type="com.jialin.LoginAction" name="userForm"   scope="request" validate="true" attribute="uf">   <forward name="success" path="/LoginSuccess.jsp" />   <forward name="fail" path="/LoginFail.jsp" />  </action>


其中 validate和attribut有什么用?

 

validate,是否验证表单数据。

我们在ActionForm中,重写父类的validate方法,当从表单收集完数据放到ActionForm后,如果配置文件中validate=true,将调用该方法,这里我们可以做一些数据验证。

@Overridepublic ActionErrors validate(ActionMapping mapping,HttpServletRequest request) {System.out.println("-------ActionForm.validate()从表单收集完数据放到ActionForm后做验证--------");return super.validate(mapping, request);}


当然,如果系统安全性各方面要求不高,我们一般的验证都是放在javascript里的。

 

attribute

如果我们配置了attribute属性,我们在jsp中要获取actionform中的值得时候,form名就变为attribute设置的值。而不再是form-bean节点下 name属性的值。

例如

<struts-config><!-- set ActionForm info--><form-beans><form-bean name="userForm" type="com.jialin.UserActionForm" /></form-beans><action-mappings><!-- Set path,action,actionform,scope,forward info --><action path="/login" type="com.jialin.LoginAction" name="userForm"scope="request" validate="true" attribute="uf"><forward name="success" path="/LoginSuccess.jsp" /><forward name="fail" path="/LoginFail.jsp" /></action></action-mappings></struts-config>


如果我们要用el表达式取表单的值,不能使用${userForm.name},而是${uf.name}

 

ActionForm中还可以重写父类的reset的方法,可以在把收集表单数据往ActionForm中放之前做一些处理

@Overridepublic void reset(ActionMapping mapping, HttpServletRequest request) {System.out.println("------------ActionForm.reset()可以在把收集表单数据往ActionForm中放之前做一些处理-----------");}

 

 

 

热点排行