Struts(JFIS)

 
 
Token 验证
public ActionForward model_new_url(ActionMapping mapping, ActionForm form,
                        HttpServletRequest request, HttpServletResponse response) {
                ModelListDAO md = new ModelListDAO();
            request.setAttribute( "models" , md.list());
            //第一步放一个Token
            this .saveToken(request);
                return mapping.findForward( "model_new_url" );
        }
 
public ActionForward model_insert(ActionMapping mapping, ActionForm form,
                        HttpServletRequest request, HttpServletResponse response) {
                ModelForm modelForm = (ModelForm) form;
                ModelBean mb = new ModelBean();
               
                //第二步,判断Token是否存在(是否重复提交)
                if ( this .isTokenValid(request)){
                        this .resetToken(request);
                ModelDAO md = new ModelDAO();
                md.model_insert(mb);
               
                return mapping.findForward( "model_insert" );
                } else {
                        request.setAttribute( "flag" , "modle" );
                        return mapping.findForward( "error" );
                }
        }
 
 
 
 
 
 
 
 
 
Validation 验证(框架验证)
注意: 要继承可以验证的 form
struts-config.xml 中加入插件
< plug-in className = "org.apache.struts.validator.ValidatorPlugIn" >
    < set-property
        property = "pathnames"
        value = "/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
  </ plug-in >
 
 
ApplicationResources.properties 文件
 
# Resources for parameter 'com.yourcompany.struts.ApplicationResources'
# Project ValidateTest
userName= yong hu ming bu neng wei kong !
 
< html >
< head >
< title > JSP for UserForm form </ title >
</ head >
< body >
< html:form action = "/user" >
userName : < html:text property = "userName" />
< html:errors   property = "userName" />< br />
userPwd : < html:text property = "userPwd" />
< html:errors property = "userPwd" />< br />
       < html:submit />< html:cancel />
</ html:form >
</ body >
</ html >
 
validation.xml
<? xml version = "1.0" encoding = "UTF-8" ?>
<! DOCTYPE form-validation PUBLIC
          "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
          "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd" >
< form-validation >
 
  < formset >
                < form name = "userForm" >    // 要验证的 form 的名字
                < field property = "userName" depends = "required" >
                <!-- field中 depends表示validator-rulers.xml中以定义好的方法 -->
                < msg name = "required" key = "userName" resource = "true" />
                <!-- msg中 resource表示是否从properties文件中读取提示信息 -->
                <!-- 当resource="true"时,直接从properties文件中读值-->
                </ field >
                < field property = "userPwd" depends = "required,minlength" >
                < msg name = "required" key = "mima bu neng wei kong !"
                                resource = "false" />
            <!-- 当resource="false"时,直接输出key的值-->
        < msg name = "minlength" key = "chang du bu neng xiao yu 5!" resource = "false" />
                        < var >
                                < var-name > minlength </ var-name >
                                < var-value > 5 </ var-value >
                        </ var >
                </ field >
                < field property = "userPwd" depends = "required" >
        < msg name = "required" key = "mima bu neng wei kong !" resource = "false" />
                        </ field >
                </ form >
</ formset >
</ form-validation >        
 
 
<html:cancel /> 标签的使用
  Action 类里的代码
public ActionForward execute (ActionMapping mapping, ActionForm form,
                        HttpServletRequest request, HttpServletResponse response) {
                ValidatorForm testForm = (ValidatorForm) form;
                //<html:cancel />标签的使用
                if ( this .isCancelled(request))
                {
                        return mapping.findForward( "cancel" );
                } else
                {
                        return null ;
                }
               
        }
jsp 页面见到此标签,在 Action 类里只要写上面代码就可以了。
 
动态 Form (写在 struts-config.xml 里)
<form-beans >
    <form-bean name="modelForm" type="org.apache.struts.action.DynaActionForm">
      <form-property name="modelName" type="java.lang.String" />
      <form-property name="parentModelId" type="java.lang.String" />
      <form-property name="modelDesc" type="java.lang.String" />
      <form-property name="modelPath" type="java.lang.String" />
    </form-bean>
    <form-bean name="powerForm" type="org.apache.struts.action.DynaActionForm">
      <form-property name="powerDesc" type="java.lang.String" />
      <form-property name="modelId" type="java.lang.String" />
      <form-property name="powerName" type="java.lang.String" />
    </form-bean>
</form-beans>
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值