Struts(JFIS)

原创 2007年09月17日 15:51:00
 
 
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=yonghumingbunengweikong!
 
<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
                {
                        returnnull;
                }
               
        }
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>
 
版权声明:本文为博主原创文章,未经博主允许不得转载。

Java分页代码(JFIS)

TpageList类 package jfis.util; import java.util.List; publicclass TPageList {         pri...

struts2漏洞原理及解决办法

Struts2被曝存在重大远程任意代码执行安全漏洞,影响Struts2全系版本。而对于此次堪比棱镜事件的危害,安全宝指出,众多大型互联网厂商均存在该漏洞,且影响厂商仍在扩大之中。同时漏洞利用代码已经被...

struts2防止表单重复提交以及刷新浏览器重复访问后台的解决方案

一、造成重复提交主要的两个原因:    在平时的开发过程中,经常可以遇到表单重复提交的问题,如做一个注册页面,如果表单重复提交,那么一个用户就会注册多次,重复提交主要由于两种原因。    ...
  • cnctcom
  • cnctcom
  • 2016年08月26日 17:39
  • 1257

Struts2中的OGNL详解(和标签库一起使用)

首先了解下OGNL的概念: OGNL是Object-Graph Navigation Language的缩写,全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取...

struts2 2.3.32补丁升级后出现问题(无法注入变量问题)

Struts2存在远程代码执行的严重漏洞,需要把Struts2的版本升级到2.3.32后,出现部分问题。当把ognl-3.0.6的jar包升级ognl-3.0.19时,会出现部分变量(变量名称为单个小...

struts2 角色权限 filter(过滤器)和interceptor(拦截器)

之前的Struts2项目通过再Sitemesh的母版页中使用Struts的if标签进行了session判断,使得未登录的用户不能看到页面,但是这 种现仅仅在view层进行,如果未登录用户直接在地址栏输...

struts2文件上传,文件类型 allowedTypes对应

1 '.a' : 'application/octet-stream', 2 '.ai' : 'application/postscript', ...

java表现层框架struts2和SpringMVC获取页面参数的方式

struts2获取页面参数的方式。 转自:http://www.cnblogs.com/o-andy-o/archive/2012/08/12/2635537.html 1. 用Actio...

利用struts1 formfile实现文件上传功能

一、界面配置      /images/common/csw_toux.gif"/>    账户管理> 账号管理 > 资料设置  您可以在下方选择自己喜欢的头像,更新后的头像将稍后显示在其它页面!...

Struts2防止表单重复提交

一 、什么是表单的重复提交     > 在不刷新表单页面的前提下:         >> 多次点击提交按钮         >> 已经提交成功, 按 "回退" 之后, 再点击 "提交按钮".   ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Struts(JFIS)
举报原因:
原因补充:

(最多只允许输入30个字)