`
yahaitt
  • 浏览: 760866 次
  • 性别: 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...

    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 最新漏洞 S2-016、S2-017修补方案 .docx

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

    struts2 总结工程大全

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

    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=...

    Struts2+Jquery+Ajax

    "struts2 jar"文件包含了Struts2框架的核心库,可能包括struts2-core、struts2-convention、struts2-json-plugin等依赖,这些是开发Struts2应用必不可少的组件。 "Struts2"可能是项目实例代码,包括Action类、视图...

Global site tag (gtag.js) - Google Analytics