Struts 2实现注册表单示例

  1. Struts 2注册表格示例
  2. 创建注册表的步骤
在此示例中, 我们将使用struts UI标记创建注册表单, 并将这些信息存储到oracle数据库中。你也可以根据需要使用其他数据库, 例如mysql, DB2等。
首先让我们看一下我们需要在oracle数据库中创建的表。
CREATE TABLE"STRUTSUSER" ( "NAME" VARCHAR2(4000), "PASSWORD" VARCHAR2(4000), "EMAIL" VARCHAR2(4000), "GENDER" VARCHAR2(4000), "COUNTRY" VARCHAR2(4000) ) /

为每个用户创建一个ID会更好。仅以示例为例, 我们尚未分配启用主键的任何ID。但是你可以做到的。
在struts2中创建注册应用程序的步骤如下:
  1. 创建输入页面(index.jsp)
  2. 创建动作类(RegisterAction.java)
  3. 创建用于存储数据的类(RegisterDao.java)
  4. 将请求映射到(struts.xml)文件中并定义视图组件
  5. 创建视图组件
1)创建输入页面(index.jsp)
这是简单的jsp页面, 它使用struts 2 UI标记创建表单以获取用户输入。
index.jsp
< %@ taglib uri="/struts-tags" prefix="s" %> < s:form action="register"> < s:textfield name="name" label="UserName"> < /s:textfield> < s:password name="password" label="Password"> < /s:password> < s:textfield name="email" label="Email"> < /s:textfield> < s:radio list="{'male', 'female'}" name="gender"> < /s:radio> < s:select cssStyle="width:155px; "list="{'india', 'pakistan', 'other', }" name="country" label="Country"> < /s:select> < s:submit value="http://www.srcmini.com/register"> < /s:submit> < /s:form>

2)创建动作类(RegisterAction.java)
该Action类具有五个字段和一个execute方法。众所周知, struts框架会为每个请求创建操作类的实例, 我们在RegisterDao类的save方法中传递了此对象。
RegisterAction.java
package com.srcmini; public class RegisterAction { private String name, password, email, gender, country; //setters and getters public String execute(){ int i=RegisterDao.save(this); if(i> 0){ return "success"; } return "error"; } }

3)创建用于存储数据的类(RegisterDao.java)
此类从RegisterAction类的对象获取信息, 并将这些信息存储在strutsuser表中。
RegisterDao.java
package com.srcmini; import java.sql.*; public class RegisterDao {public static int save(RegisterAction r){ int status=0; try{ Class.forName("oracle.jdbc.driver.OracleDriver"); Connection con=DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521:xe", "system", "oracle"); PreparedStatement ps=con.prepareStatement("insert into strutsuser values(?, ?, ?, ?, ?)"); ps.setString(1, r.getName()); ps.setString(2, r.getPassword()); ps.setString(3, r.getEmail()); ps.setString(4, r.getGender()); ps.setString(5, r.getCountry()); status=ps.executeUpdate(); }catch(Exception e){e.printStackTrace(); } return status; } }

4)在(struts.xml)文件中映射请求并定义视图组件
该xml文件包含有关程序包, 操作类和视图组件的信息。
struts.xml
< ?xml version="1.0" encoding="UTF-8" ?> < !DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> < struts> < package name="default" extends="struts-default"> < action name="register" class="com.srcmini.RegisterAction"> < result name="success"> register-success.jsp< /result> < result name="error"> register-error.jsp< /result> < /action> < /package> < /struts>

5)创建视图组件
在这里, 我们正在创建两个视图组件register-success.jsp和register-error.jsp。
register-success.jsp
< %@ taglib uri="/struts-tags" prefix="s" %> Welcome, < s:property value="http://www.srcmini.com/name"> < /s:property>

register-error.jsp
< %@ taglib uri="/struts-tags" prefix="s" %> Sorry, some error occured! < s:include value="http://www.srcmini.com/index.jsp"> < /s:include>

【Struts 2实现注册表单示例】下载此示例

    推荐阅读