`
dwr
  • 浏览: 28458 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

有关webwork输入校验的问题

阅读更多

最近看到了webwork输入校验,相关代码如下:
LoginAction.java代码

  1. import com.opensymphony.xwork.ActionSupport;   
  2. ......   
  3. public class LoginAction extends ActionSupport implements Action, ModelDriven {   
  4.     private final static String LOGIN_FAIL="loginfail";   
  5.     LoginInfo loginInfo = new LoginInfo();   
  6.       
  7.     public String execute() throws Exception {   
  8.        if ("erica".equalsIgnoreCase(loginInfo.getUsername())  && "mypass".equals(loginInfo.getPassword())) {   
  9.            return SUCCESS;   
  10.        } else {   
  11.            System.out.println("=======================================================");   
  12.            return LOGIN_FAIL;   
  13.        }           
  14.    }   
  15.    public Object getModel() {   
  16.        return loginInfo;   
  17.    }   
  18. }  

LoginAction-validation.xml和LoginAction.java在同一个目录下
LoginAction-validation.xml代码

  1. <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWorkValidator 1.0.2//EN"   
  2. "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">   
  3. <validators>   
  4.  <field name="model.username">   
  5.   <field-validator type="requiredstring">   
  6.    <message>Please enter Username!</message>   
  7.   </field-validator>   
  8.  </field>   
  9.   
  10.  <field name="model.password">   
  11.   <field-validator type="stringlength">   
  12.    <param name="minLength">4</param>   
  13.    <param name="maxLength">6</param>   
  14.    <message>Password length must between ${minLength} and ${maxLength} chars!</message>   
  15.   </field-validator>   
  16.  </field>   
  17. </validators>   

xwork.xml代码

  1. <!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN"   
  2. "http://www.opensymphony.com/xwork/xwork-1.0.dtd">   
  3. <xwork>   
  4.  <include file="webwork-default.xml" />   
  5.  <package name="default" extends="webwork-default">   
  6.     
  7.   <interceptors>   
  8.    <interceptor-stack name="modelParamsStack">   
  9.     <interceptor-ref name="params" />   
  10.     <interceptor-ref name="model-driven" />   
  11.    </interceptor-stack>   
  12.   </interceptors>   
  13.      
  14.   <action name="login" class="net.xiaxin.webwork.action.LoginAction">   
  15.    <result name="success" type="dispatcher">   
  16.     <param name="location">/main.jsp</param>   
  17.    </result>   
  18.    <result name="loginfail" type="dispatcher">   
  19.     <param name="location">/validatorindex.jsp</param>   
  20.    </result>   
  21.    <interceptor-ref name="modelParamsStack"/>    
  22.    <interceptor-ref name="validationWorkflowStack" />   
  23.   </action>   
  24.  </package>   
  25. </xwork>   


validators.xml和xwork.xml都放在classes根目录下

validators.xml
代码

  1. <validators>    
  2.     <validator name="requiredstring" class="com.opensymphony.xwork.validator.validators.RequiredStringValidator"/>   
  3.   
  4.     <validator name="stringlength" class="com.opensymphony.xwork.validator.validators.StringLengthFieldValidator"/>   
  5.        
  6. </validators>   


validatorindex.jsp代码

  1. <%@ taglib prefix="ww" uri="/webwork"%>   
  2.  <style type="text/css">   
  3.   .errorMessage {   
  4.    color: red;   
  5.   }   
  6.  </style>    
  7.   <form action="login.action">   
  8.     登录<br>   
  9.    <ww:if test="hasFieldErrors()">   
  10.     <span class="errorMessage">   
  11.      <b>Errors:</b><br>   
  12.      <ww:iterator value="fieldErrors">   
  13.       <li><ww:property value="value[0]"/></li>   
  14.      </ww:iterator>   
  15.     </span>   
  16.    </ww:if>   
  17.   用户名:   
  18.   左尖括号  input type="text" name="model.username" />   
  19.   
  20.   密 码 :   
  21.   左尖括号 input type="password" name="model.password" />   
  22.   
  23.    左尖括号 input type="submit" value="提交" name="B1"/>   
  24.    左尖括号 input type="reset" value="重置" name="B2"/>   
  25.  </form>  

运行时,若输入正确的用户名和密码,按提交按钮后可以转向正确的页面。若输入错误的用户名或密码,按提交按钮则页面空白一片。在myeclipse下看到如下信息:
DefaultWorkflowInterceptor - Invoking validate() on action net.xiaxin.webwork.action.LoginAction@a47cc3
PrefixMethodInvocationUtil - cannot find method [validateExecute] in action [net.xiaxin.webwork.action.LoginAction@a47cc3]
PrefixMethodInvocationUtil - cannot find method [validateDoExecute] in action [net.xiaxin.webwork.action.LoginAction@a47cc3]
DefaultWorkflowInterceptor - Errors on action net.xiaxin.webwork.action.LoginAction@a47cc3, returning result name 'input'
DefaultActionInvocation - No result defined for action net.xiaxin.webwork.action.LoginAction and result input
这是什么原因呢?

分享到:
评论
1 楼 dwr 2006-12-08  
已经知道问题所在,少了input,偶闪~

相关推荐

    webwork.pdf

    WebWork 2.0提供了强大的输入校验功能,能够自动检测和处理表单提交的数据,确保数据的有效性和安全性。这一特性对于构建健壮的Web应用程序至关重要,可以有效防止常见的安全漏洞,如SQL注入和跨站脚本攻击。 #####...

    webwork

    WebWork2内置了强大的输入校验功能,能够自动检测并验证表单提交的数据是否符合预定的规则。这不仅提高了应用程序的安全性,还简化了开发者的工作,使他们能够更专注于业务逻辑的实现,而非繁琐的数据验证。 #### ...

    webwork2中文教程

    此外,WebWork2还有强大的数据验证机制,可以在服务器端对用户输入进行校验,确保数据的准确性和安全性。 在异常处理方面,WebWork2使用了Exception Handler来集中处理可能出现的异常,而不是像Struts那样在每个...

    webwork-register.rar_webwork_webwork 验证_webwork spring

    6. **数据验证**:WebWork提供内置的验证机制,可以在服务器端对用户输入的数据进行校验,防止无效数据的入库。结合Spring的Validator接口,可以自定义更复杂的验证规则。 7. **视图渲染**:WebWork通常与JSP或...

    Webwork2 Guide.pdf

    - **输入校验**:Webwork2内置的输入校验机制,能够自动检测表单提交数据的有效性,防止非法数据的注入。 - **国际化支持**:支持多语言环境,使得应用能够适应全球不同地区的用户需求。 #### Webwork2 in Spring ...

    webwork2实例源代码

    3. **验证框架**:WebWork2内置了强大的验证框架,允许开发者对用户输入进行校验。通过在ActionForm或Action类上定义验证规则,可以在提交表单时自动检查数据的正确性,防止无效数据进入系统。 4. **Interceptor...

    webwork2.2.4包

    6. **数据绑定和表单验证**:利用OGNL进行数据绑定,可以使用WebWork提供的验证框架对用户输入进行校验。 7. **测试和部署**:测试你的应用确保所有功能正常工作后,将其部署到服务器上。 总的来说,WebWork 2.2.4...

    webwork验证框架

    WebWork验证框架是一种用于Java Web应用的验证工具,它整合在XWork核心库中,主要目的是在Action执行前对用户输入的数据进行有效性检查。WebWork验证框架提供了多种灵活且强大的特性,使得数据验证过程变得更加简单...

    Webwork2 开发指南

    Webwork2内置了一套强大的输入校验机制,可以对用户提交的数据进行自动验证。开发者可以通过简单的配置指定校验规则,无需手动编写复杂的校验逻辑,极大地减少了出错的可能性,同时也增强了应用程序的安全性。 ####...

    webwork2.2.7+spring+hibernate分页查询

    本文详细介绍了基于WebWork 2.2.7 + Spring + Hibernate技术栈实现分页查询的具体实现方式,通过对关键代码的解析以及对现有问题的分析,希望能够帮助读者更好地理解和应用这些技术。在未来的工作中,还可以进一步...

    WebWork2开发指南

    - **输入校验**:WebWork2内置了丰富的表单验证机制,支持客户端和服务器端双重校验,确保数据的有效性和安全性。 - **国际化支持**:提供了多语言支持,能够根据不同用户的语言偏好动态加载相应的资源文件,实现...

    webwork 例子

    2. **强大的表单绑定和验证**:WebWork支持自动将HTTP请求参数绑定到Action类的属性,同时提供了内置的验证机制,能够对用户输入进行校验,确保数据的有效性。 3. **拦截器(Interceptors)**:WebWork引入了拦截器...

    WebWork教程-0.90版

    2. **强大的表单处理**:WebWork支持表单验证,可以在服务器端自动进行数据校验,确保用户提交的数据有效且符合业务规则。 3. **类型安全的参数绑定**:WebWork可以将HTTP请求参数自动绑定到动作类的属性上,无需...

    [Struts 2权威指南--基于WebWork核心的MVC开发(高清完整版) 1/12

    第1章 Struts 2概述,第2章 Struts 2下的HelloWorld,第3章 Struts 2基础,第4章 深入Struts 2,第5章 Struts 2的类型转换,第6章 文件的上传和下载.,第7章 Struts 2的拦截器,第8章 Struts 2的输入校验,9.2 ...

    webwork学习

    - **为用户注册添加验证功能**:利用WebWork内置的验证机制来校验用户输入,例如检查用户名是否为空、密码是否符合规定格式等。 - **XWork配置详述**:xwork.xml文件中包含了对Action、Interceptor、Result等元素的...

    Webwork2框架的开发指南资源文件

    2. **数据绑定和验证**:Webwork2支持自动的数据绑定,能够将HTTP请求参数自动绑定到动作类的属性上,同时提供了强大的数据验证机制,可以在服务器端进行输入校验,确保数据安全。 3. **异常处理**:框架内建了全面...

    webwork2指南ppt.rar

    WebWork2开发指南 QUICK start WEB WORK 高级特性 Action驱动模式 XWork拦截器体系 输入校验 国际化的支持 WEB work2 in spring web work的配置的说明

Global site tag (gtag.js) - Google Analytics