读书人

Struts2(二):Struts2的输入检验

发布时间: 2012-08-21 13:00:22 作者: rapoo

Struts2(2):Struts2的输入检验

1:新建一个login2.jsp,使用Struts2的标签编写JSP文件

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%><%@ taglib prefix ="s" uri="/struts-tags"%><html>  <body>    <s:form action="login">    <s:textfield name="username" label="username"></s:textfield>    <s:password name="password" label="password"></s:password>    <s:submit></s:submit>    </s:form>  </body></html>

2:修改了原来的execute,validate方法,

??? 在execute方法中加入逻辑校验,即进行密码的判断,如果用户名是hello,密码是wordl,则正确,跳转到success,否则错误,提示username or password error。

??? 在validate方法中加入判空校验,fieldError中如果有值,则自动跳转到struts.xml配置文件中?action中result为input对应的页面。

public String execute() throws Exception {if("hello".equals(this.getUsername().trim()) && "world".equals(this.getPassword().trim())){return SUCCESS;}else{this.addFieldError("username", "username or password error");return "failer";}}public void validate() {if (null == this.getUsername() || "".equals(this.getUsername().trim())) {//只有jsp页面使用STRUTS标签,FieldError里的值才能显示在页面上。this.addFieldError("username", "username required");}if (null == this.getPassword() || "".equals(this.getPassword().trim())) {this.addFieldError("password", "password required");}}

?3,struts.xml文件如下:

<package name="struts2demo" extends="struts-default"><action name="login" class="com.test.action.LoginAction"><!--input标签表示,如果action中validate方法的FieldError中有值,就会跳转到input标签指定的JSP页面--><result name="input">/login2.jsp</result> <result name="success">/result.jsp</result><result name="failer">/login2.jsp</result></action></package>

?

读书人网 >软件架构设计

热点推荐