首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Struts2学习札记(1) - 简单注册系统

2012-08-29 
Struts2学习笔记(1) - 简单注册系统一.简单的注册系统1.编写欢迎页面 index.jsp -(View)加入meata http-e

Struts2学习笔记(1) - 简单注册系统
一.简单的注册系统

1.编写欢迎页面 index.jsp -(View)
加入

<meata http-equive="REFRESH" content="1;URL=/RegistrationPage.action" />

意为等待1秒后自从刷新,重定向到URL所指向的地址

2.编写注册页面Registration.jsp -(View)

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %><! 使用struts2标记库 ><%@ taglib prefix="s" URI="struts-tags" %> ...<body>  <! 提交后交给Register动作类处理 >  <s:form action="Register">      <s:textfield name="username" label="Username" />    <s:password name="password" label="Password" />    <s:submit />  </s:form></body>...


3编写User类 -(Model)

public class User {  private username = "";  private password = "";  public String getUsername() {    return username;  }  public void setUsername(String username) {    this.username = username;  }  public String getPassword() {    return password;  }  public void setPassword(String password) {    this.password = password;  }}

4.编写注册动作类Register.java -(Model)

import com.opensymphony.xwork2.ActionSupport; //ActionSupport类提供excute()和validate方法,excute()该方法用于完成注册用户的业务逻辑,validate()方法用于完成注册用户信息的验证逻辑public class Register extends ActionSupport {  public String excute() {    getUserTable().addUser(user);    return SUCCESS;  }  private User user;  public UserTable getUserTable() {    return new UserTable();  }  public User getUser() {    return user;  }  public void setUser(User user) {    this.user = user;  }  //addFieldError()方法用于存储错误信息.该方法由interface ValidationAware提供,此接口已由ActionSupport实现  //getText()方法用于获取属性文件中的关键字对应信息.该方法由interface TextProvider提供,此接口已由ActionSupport实现  public void validate() {    if (getUser().getPassword().length() == 0) {      addFieldError("password", getText("password.required"));    }    if (getUser().getUsername().length() == 0)) {      addFieldError("username", getText("username.required"));    }  }}


5.编写Register动作相关联的属性文件 Register.properties
 
username.required = Username is required.  password.required = Password is required.


6.部署sturts.xml

<!-- struts.devMode可以使struts2工作在开发模式下.  这样可以在不重新装载应用的前提下实现 ? 1.在请求之间自动重新载入struts.xml文件的信息。? 2.在请求之间自动重新载入资源文件。 ? 3.在请求之间自动重新载入校验文件。  工作在开发模式下,Struts2可以输出更多的运行时的调试信息,这样有助于跟踪调试程序。 -->   <constant name="struts.devMode" value="true" />  <!-- namespace是包的逻辑地址.在此包下所有配置的action前均会加上这个逻辑地址.extends表示扩展了struts-default包,这样就可以使用struts2中的特性了(截拦器等等) -->  <package name="default" namespace="/" extends="struts-default">        <action name="RegistrationPage">      <result>/Registration.jsp</result>    </action>  <!-- name="inpput"属性用来对应addFiledError()方法加入的错误信息.当截拦器在执行验证逻辑时找到错误信息时.就会返回input关键字.触发动作在执行excute()之前重定向到Registration.sjp -->    <action name="Register" class="com.vea.Register">      <result>/RegistrationSuccess.jsp</result>      <result name="input">/Registration.jsp</result>    </action>    </package>    
 

热点排行