`
yahaitt
  • 浏览: 759874 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

struts2启程2

阅读更多

struts2启程之输入校验

Action类通过继承struts2的com.opensymphony.xwork2.ActionSupport类拥有更多的功能,比如可以非常方便的实现输入校验。

示例代码:

java 代码
  1. package com.test.action;   
  2.   
  3. import com.opensymphony.xwork2.ActionSupport;   
  4.   
  5. public class LoginAction extends ActionSupport {   
  6.   
  7.     private String username;   
  8.     private String password;   
  9.     public String getUsername() {   
  10.         return username;   
  11.     }   
  12.     public void setUsername(String username) {   
  13.         this.username = username;   
  14.     }   
  15.     public String getPassword() {   
  16.         return password;   
  17.     }   
  18.     public void setPassword(String password) {   
  19.         this.password = password;   
  20.     }   
  21.        
  22.     public String execute() throws Exception   
  23.     {   
  24.         if("hello".equals(this.getUsername().trim()) && "world".equals(this.getPassword().trim()))   
  25.         {   
  26.             return "success";   
  27.         }   
  28.         else  
  29.         {   
  30.             this.addFieldError("username""username or password error");   
  31.             return "failed";   
  32.         }   
  33.     }   
  34.        
  35.     @Override  
  36.     public void validate() {   
  37.         if(null==this.getUsername() || "".equals(this.getUsername().trim()))   
  38.         {   
  39.             this.addFieldError("username""username requied");   
  40.         }   
  41.         if(null==this.getPassword() || "".equals(this.getPassword().trim()))   
  42.         {   
  43.             this.addFieldError("password","password requied");   
  44.         }   
  45.     }   
  46.        
  47.        
  48. }   

 

代码说明:

一、不需要通过request.getParameter方式来获得表单元素,直接通过this.getUsername()或username等pojo的get方式就可以获得页面中传递过来的表单元素的值

二、通过继承com.opensymphony.xwork2.ActionSupport,并重写validate()方法就能实现输入校验

三、JSP页面必须结合struts2的taglib,struts2的taglib标签文件位置:struts2-core.jar文件中的WEB-INF/struts-tags.tld

四、如果validate()方法中因未满足条件而拥有了FieldError后(即表单信息未通过验证),将dispatche到result的name值为input所对应的jsp页面,因此,struts.xml中必须要有对应的name="input"的result元素。

struts.xml
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE struts PUBLIC   
  3.     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"   
  4.     "http://struts.apache.org/dtds/struts-2.0.dtd">  
  5. <struts>  
  6.        
  7.     <package name="wjl_struts" extends="struts-default">  
  8.         <action name="login" class="com.test.action.LoginAction">  
  9.             <result name="input">/login.jsp</result>  
  10.             <result name="success">/result.jsp</result>  
  11.             <result name="failed">/login.jsp</result>  
  12.         </action>  
  13.     </package>  
  14.        
  15. </struts>  

 

login2.jsp
  1. <%@ page language="java" contentType="text/html; charset=GB18030"  
  2.     pageEncoding="GB18030"%>  
  3. <%@taglib prefix="s" uri="/struts-tags"%>  
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  5. <html>  
  6. <head>  
  7. <meta http-equiv="Content-Type" content="text/html; charset=GB18030">  
  8. <title>Insert title here</title>  
  9. </head>  
  10. <body>  
  11.   
  12. <s:form action="login">  
  13.     <s:textfield name="username" label="username"></s:textfield>  
  14.     <s:textfield name="password" label="password"></s:textfield>  
  15.     <s:submit name="submit" label="submit"></s:submit>  
  16. </s:form>  
  17.   
  18. </body>  
  19. </html>  
分享到:
评论
1 楼 haozidm 2009-01-06  
<?xml version="1.0" encoding="UTF-8" ?>   
<!DOCTYPE struts PUBLIC    
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"    
    "http://struts.apache.org/dtds/struts-2.0.dtd">   
<struts>   
        
    <package name="wjl_struts" extends="struts-default">   
        <action name="login" class="com.test.action.LoginAction">   
            <result name="input">/login.jsp</result>   
            <result name="success">/result.jsp</result>   
            <result name="failed">/login.jsp</result>   
        </action>   
    </package>   
        
</struts> 
 

相关推荐

    Struts2漏洞检查工具Struts2.2019.V2.3

    Struts2是一款非常流行的Java Web框架,用于构建企业级应用。然而,随着时间的推移,Struts2在安全方面暴露出了一些重要的漏洞,这给使用该框架的系统带来了潜在的安全风险。"Struts2漏洞检查工具Struts2.2019.V2.3...

    struts2-scan_struts2-scan_struts2scan_scan_struts2漏洞_

    Struts2是一个非常流行的Java MVC框架,用于构建企业级Web应用程序。然而,它在历史上曾出现过多个安全漏洞,其中最著名的就是“Struts2漏洞”。这个标题和描述提到的"struts2-scan"是一种工具,专门用来检测Struts2...

    struts2jar包

    Struts2是一个强大的Java EE应用程序框架,主要用于构建企业级的Web应用。它的核心是MVC(Model-View-Controller)设计模式,可以帮助开发者组织代码,提高开发效率,并且提供了丰富的特性来支持表单验证、国际化、...

    struts2-core.jar

    struts2-core-2.0.1.jar, struts2-core-2.0.11.1.jar, struts2-core-2.0.11.2.jar, struts2-core-2.0.11.jar, struts2-core-2.0.12.jar, struts2-core-2.0.14.jar, struts2-core-2.0.5.jar, struts2-core-2.0.6.jar,...

    Struts2漏洞测试

    Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试...

    留言板留言板struts2留言板struts2

    这个"留言板留言板struts2"项目,显然是一个基于Struts2实现的简单留言板系统,旨在展示Struts2的核心功能和开发流程。下面将详细介绍Struts2框架以及在该项目中可能涉及的关键知识点。 1. **Struts2框架概述**:...

    struts2 总结工程大全

    struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全...

    struts2 最新漏洞 S2-016、S2-017修补方案 .docx

    Struts2 最新漏洞 S2-016、S2-017 修补方案 Struts2 是一个基于 Java 的 Web 应用程序框架,由 Apache 软件基金会维护。最近,Struts2 发生了两个严重的漏洞,分别是 S2-016 和 S2-017,这两个漏洞可能会导致攻击者...

    struts2项目开发

    Struts2 项目开发 Struts2 是一个基于 Java Web 的框架,广泛应用于 Web 应用程序的开发。下面将从 Struts2 项目开发的角度,详细介绍 Struts2 框架的应用、开发流程、技术架构、实践经验等方面的知识点。 项目...

    Struts2接口文档

    Struts2是一个强大的Java web应用程序开发框架,它基于Model-View-Controller(MVC)设计模式,旨在简化创建用户交互式、数据驱动的web应用的过程。这个“Struts2接口文档”是开发者的重要参考资料,提供了关于...

    Struts2视频教程

    ### Struts2核心知识点解析 #### 一、Struts2框架概述 - **定义与特点**:Struts2是一款基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它继承了Struts1的优点,同时在设计上更加灵活、易用,...

    struts2jar.zip

    Struts2是一个强大的Java web应用程序框架,它基于Model-View-Controller(MVC)设计模式,为开发者提供了构建可维护性、可扩展性良好的企业级应用的工具。这个"struts2jar.zip"压缩包包含了Struts2学习和研究的基础...

    struts1和struts2的区别

    ### Struts1与Struts2的主要区别 #### 概述 Apache Struts 是一个用于构建企业级Java Web应用的开源框架。它分为两个版本:Struts1 和 Struts2。虽然两者都基于模型-视图-控制器(MVC)设计模式,但它们之间存在...

    Struts2VulsTools-Struts2系列漏洞检查工具

    该工具的打开路径为:\Struts2VulsTools-2.3.20190927\Test\bin\Release\Text.exe 2019-09-25: 优化部分EXP在部分情况下被WAF拦截的问题,提高检测成功率,优化自定义上传路径exp,文件所在目录不存在时自动创建...

    Struts2教学视频

    Struts2是一个强大的Java web开发框架,用于构建可维护、可扩展且结构良好的应用程序。它在MVC(Model-View-Controller)设计模式的基础上提供了一种实现方式,使得开发者能够更方便地处理用户请求,控制业务逻辑,...

    struts2所有jar包程序文件

    Struts2是一个非常著名的Java Web开发框架,由Apache软件基金会维护。它基于MVC(Model-View-Controller)设计模式,极大地简化了构建基于Java EE的Web应用程序的过程。本资源包含"struts2所有jar包程序文件",是...

    struts2-showcase.rar

    Struts2-showcase是一个用于演示和学习Apache Struts2框架功能的开源项目。这个压缩包“struts2-showcase.rar”包含了完整的源代码,旨在帮助开发者深入理解Struts2框架的工作原理及其各种特性。以下是对Struts2和...

    struts2的各种jar包

    Struts2是一个强大的Java web应用程序框架,用于构建和管理MVC(模型-视图-控制器)架构的应用程序。它在Java社区中广泛使用,因其灵活性、可扩展性和丰富的插件库而受到赞誉。Struts2的核心是Action类,它处理HTTP...

    struts2环境搭建+struts2 新闻发布系统+struts2 留言板

    struts2环境搭建+struts2 新闻发布系统+struts2 留言板 struts2环境搭建:基础框架搭建,简单易上手,适合新手,比你看书强多了,实践源于理论而高于理论,贵在实践 朋友。 struts2 新闻发布系统:struts2+jsp 功能不...

    Struts2_s2-016&017&ognl2.6.11_patch漏洞补丁

    -- 为修复struts2 s2-016、s2-017漏洞,重写DefaultActionMapper --&gt; &lt;bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="myDefaultActionMapper" class=...

Global site tag (gtag.js) - Google Analytics