最近看到了webwork输入校验,相关代码如下:
LoginAction.java代码
- import com.opensymphony.xwork.ActionSupport;
- ......
- public class LoginAction extends ActionSupport implements Action, ModelDriven {
- private final static String LOGIN_FAIL="loginfail";
- LoginInfo loginInfo = new LoginInfo();
-
- public String execute() throws Exception {
- if ("erica".equalsIgnoreCase(loginInfo.getUsername()) && "mypass".equals(loginInfo.getPassword())) {
- return SUCCESS;
- } else {
- System.out.println("=======================================================");
- return LOGIN_FAIL;
- }
- }
- public Object getModel() {
- return loginInfo;
- }
- }
LoginAction-validation.xml和LoginAction.java在同一个目录下
LoginAction-validation.xml代码
- <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWorkValidator 1.0.2//EN"
- "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
- <validators>
- <field name="model.username">
- <field-validator type="requiredstring">
- <message>Please enter Username!</message>
- </field-validator>
- </field>
-
- <field name="model.password">
- <field-validator type="stringlength">
- <param name="minLength">4</param>
- <param name="maxLength">6</param>
- <message>Password length must between ${minLength} and ${maxLength} chars!</message>
- </field-validator>
- </field>
- </validators>
xwork.xml代码
- <!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN"
- "http://www.opensymphony.com/xwork/xwork-1.0.dtd">
- <xwork>
- <include file="webwork-default.xml" />
- <package name="default" extends="webwork-default">
-
- <interceptors>
- <interceptor-stack name="modelParamsStack">
- <interceptor-ref name="params" />
- <interceptor-ref name="model-driven" />
- </interceptor-stack>
- </interceptors>
-
- <action name="login" class="net.xiaxin.webwork.action.LoginAction">
- <result name="success" type="dispatcher">
- <param name="location">/main.jsp</param>
- </result>
- <result name="loginfail" type="dispatcher">
- <param name="location">/validatorindex.jsp</param>
- </result>
- <interceptor-ref name="modelParamsStack"/>
- <interceptor-ref name="validationWorkflowStack" />
- </action>
- </package>
- </xwork>
validators.xml和xwork.xml都放在classes根目录下
validators.xml代码
- <validators>
- <validator name="requiredstring" class="com.opensymphony.xwork.validator.validators.RequiredStringValidator"/>
-
- <validator name="stringlength" class="com.opensymphony.xwork.validator.validators.StringLengthFieldValidator"/>
-
- </validators>
validatorindex.jsp代码
- <%@ taglib prefix="ww" uri="/webwork"%>
- <style type="text/css">
- .errorMessage {
- color: red;
- }
- </style>
- <form action="login.action">
- 登录<br>
- <ww:if test="hasFieldErrors()">
- <span class="errorMessage">
- <b>Errors:</b><br>
- <ww:iterator value="fieldErrors">
- <li><ww:property value="value[0]"/></li>
- </ww:iterator>
- </span>
- </ww:if>
- 用户名:
- 左尖括号 input type="text" name="model.username" />
-
- 密 码 :
- 左尖括号 input type="password" name="model.password" />
-
- 左尖括号 input type="submit" value="提交" name="B1"/>
- 左尖括号 input type="reset" value="重置" name="B2"/>
- </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
这是什么原因呢?
分享到:
相关推荐
WebWork 2.0提供了强大的输入校验功能,能够自动检测和处理表单提交的数据,确保数据的有效性和安全性。这一特性对于构建健壮的Web应用程序至关重要,可以有效防止常见的安全漏洞,如SQL注入和跨站脚本攻击。 #####...
- **输入校验**:WebWork 支持多种形式的输入校验,确保用户输入的数据符合预期格式,提高应用的安全性和稳定性。 - **国际化支持**:为了满足不同国家和地区的需求,WebWork 提供了国际化功能,允许开发者轻松地...
WebWork2内置了强大的输入校验功能,能够自动检测并验证表单提交的数据是否符合预定的规则。这不仅提高了应用程序的安全性,还简化了开发者的工作,使他们能够更专注于业务逻辑的实现,而非繁琐的数据验证。 #### ...
此外,WebWork2还有强大的数据验证机制,可以在服务器端对用户输入进行校验,确保数据的准确性和安全性。 在异常处理方面,WebWork2使用了Exception Handler来集中处理可能出现的异常,而不是像Struts那样在每个...
6. **数据验证**:WebWork提供内置的验证机制,可以在服务器端对用户输入的数据进行校验,防止无效数据的入库。结合Spring的Validator接口,可以自定义更复杂的验证规则。 7. **视图渲染**:WebWork通常与JSP或...
- **输入校验**:Webwork2内置的输入校验机制,能够自动检测表单提交数据的有效性,防止非法数据的注入。 - **国际化支持**:支持多语言环境,使得应用能够适应全球不同地区的用户需求。 #### Webwork2 in Spring ...
3. **验证框架**:WebWork2内置了强大的验证框架,允许开发者对用户输入进行校验。通过在ActionForm或Action类上定义验证规则,可以在提交表单时自动检查数据的正确性,防止无效数据进入系统。 4. **Interceptor...
6. **数据绑定和表单验证**:利用OGNL进行数据绑定,可以使用WebWork提供的验证框架对用户输入进行校验。 7. **测试和部署**:测试你的应用确保所有功能正常工作后,将其部署到服务器上。 总的来说,WebWork 2.2.4...
WebWork验证框架是一种用于Java Web应用的验证工具,它整合在XWork核心库中,主要目的是在Action执行前对用户输入的数据进行有效性检查。WebWork验证框架提供了多种灵活且强大的特性,使得数据验证过程变得更加简单...
Webwork2内置了一套强大的输入校验机制,可以对用户提交的数据进行自动验证。开发者可以通过简单的配置指定校验规则,无需手动编写复杂的校验逻辑,极大地减少了出错的可能性,同时也增强了应用程序的安全性。 ####...
本文详细介绍了基于WebWork 2.2.7 + Spring + Hibernate技术栈实现分页查询的具体实现方式,通过对关键代码的解析以及对现有问题的分析,希望能够帮助读者更好地理解和应用这些技术。在未来的工作中,还可以进一步...
- **输入校验**:WebWork2内置了丰富的表单验证机制,支持客户端和服务器端双重校验,确保数据的有效性和安全性。 - **国际化支持**:提供了多语言支持,能够根据不同用户的语言偏好动态加载相应的资源文件,实现...
2. **强大的表单绑定和验证**:WebWork支持自动将HTTP请求参数绑定到Action类的属性,同时提供了内置的验证机制,能够对用户输入进行校验,确保数据的有效性。 3. **拦截器(Interceptors)**:WebWork引入了拦截器...
2. **强大的表单处理**:WebWork支持表单验证,可以在服务器端自动进行数据校验,确保用户提交的数据有效且符合业务规则。 3. **类型安全的参数绑定**:WebWork可以将HTTP请求参数自动绑定到动作类的属性上,无需...
第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内置的验证机制来校验用户输入,例如检查用户名是否为空、密码是否符合规定格式等。 - **XWork配置详述**:xwork.xml文件中包含了对Action、Interceptor、Result等元素的...
2. **数据绑定和验证**:Webwork2支持自动的数据绑定,能够将HTTP请求参数自动绑定到动作类的属性上,同时提供了强大的数据验证机制,可以在服务器端进行输入校验,确保数据安全。 3. **异常处理**:框架内建了全面...
WebWork2开发指南 QUICK start WEB WORK 高级特性 Action驱动模式 XWork拦截器体系 输入校验 国际化的支持 WEB work2 in spring web work的配置的说明