SSH整合 简单的增删改查

Database 使用 Mysql ,

建立User 表

  1. CREATE TABLE `user` (  
  2.   `id` int(11) NOT NULL,  
  3.   `firstName` varchar(20) DEFAULT NULL,  
  4.   `lastName` varchar(20) DEFAULT NULL,  
  5.   `age` int(11) DEFAULT NULL,  
  6.   PRIMARY KEY (`id`)  
  7. )   

所需jar包

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <classpath>  
  3.     <classpathentry kind="src" path="src"/>  
  4.     <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>  
  5.     <classpathentry kind="con" path="melibrary.com.genuitec.eclipse.j2eedt.core.MYECLIPSE_JAVAEE_5_CONTAINER"/>  
  6.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/struts2-spring-plugin-2.3.4.jar"/>  
  7.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/antlr-2.7.6.jar"/>  
  8.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/cglib-2.2.jar"/>  
  9.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-collections-3.1.jar"/>  
  10.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/dom4j-1.6.1.jar"/>  
  11.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/ehcache-1.2.3.jar"/>  
  12.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/ejb3-persistence.jar"/>  
  13.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/hibernate-annotations.jar"/>  
  14.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/hibernate-commons-annotations.jar"/>  
  15.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/hibernate-entitymanager.jar"/>  
  16.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/hibernate-validator.jar"/>  
  17.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/hibernate3.jar"/>  
  18.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/javassist-3.9.0.GA.jar"/>  
  19.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/jta-1.1.jar"/>  
  20.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/log4j-1.2.14.jar"/>  
  21.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/slf4j-api-1.5.8.jar"/>  
  22.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/slf4j-log4j12-1.5.8.jar"/>  
  23.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/com.springsource.net.sf.cglib-2.2.0.jar"/>  
  24.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/com.springsource.org.aopalliance-1.0.0.jar"/>  
  25.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/com.springsource.org.apache.commons.fileupload-1.2.0.jar"/>  
  26.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/com.springsource.org.apache.commons.httpclient-3.1.0.jar"/>  
  27.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/com.springsource.org.apache.commons.logging-1.1.1.jar"/>  
  28.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/com.springsource.org.apache.log4j-1.2.15.jar"/>  
  29.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar"/>  
  30.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/com.springsource.org.codehaus.jackson.mapper-1.0.0.jar"/>  
  31.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.aop-3.0.1.RELEASE-A.jar"/>  
  32.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.asm-3.0.1.RELEASE-A.jar"/>  
  33.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.aspects-3.0.1.RELEASE-A.jar"/>  
  34.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.beans-3.0.1.RELEASE-A.jar"/>  
  35.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.context-3.0.1.RELEASE-A.jar"/>  
  36.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.core-3.0.1.RELEASE-A.jar"/>  
  37.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.expression-3.0.1.RELEASE-A.jar"/>  
  38.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.instrument-3.0.1.RELEASE-A.jar"/>  
  39.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.instrument.tomcat-3.0.1.RELEASE-A.jar"/>  
  40.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.jdbc-3.0.1.RELEASE-A.jar"/>  
  41.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.orm-3.0.1.RELEASE-A.jar"/>  
  42.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.oxm-3.0.1.RELEASE-A.jar"/>  
  43.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.transaction-3.0.1.RELEASE-A.jar"/>  
  44.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.web-3.0.1.RELEASE-A.jar"/>  
  45.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.web.portlet-3.0.1.RELEASE-A.jar"/>  
  46.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.web.servlet-3.0.1.RELEASE-A.jar"/>  
  47.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/org.springframework.web.struts-3.0.1.RELEASE-A.jar"/>  
  48.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/persistence.jar"/>  
  49.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/asm-3.3.jar"/>  
  50.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/asm-commons-3.3.jar"/>  
  51.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/asm-tree-3.3.jar"/>  
  52.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-fileupload-1.2.2.jar"/>  
  53.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-io-2.0.1.jar"/>  
  54.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-lang3-3.1.jar"/>  
  55.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/freemarker-2.3.19.jar"/>  
  56.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/javassist-3.11.0.GA.jar"/>  
  57.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/ognl-3.0.5.jar"/>  
  58.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/struts2-core-2.3.4.jar" sourcepath="F:/Java/SSH Source/struts-2.3.4/src/core/src/main"/>  
  59.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/xwork-core-2.3.4.jar"/>  
  60.     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/mysql-connector-java-5.1.7-bin.jar"/>  
  61.     <classpathentry kind="output" path="WebRoot/WEB-INF/classes"/>  
  62. </classpath>  

[java] 
  1. package org.zbq.bean;  
  2. public class User {  
  3.     private int id;  
  4.     private String firstName;  
  5.     private String lastName;  
  6.     private int age;  
  7.     public int getId() {  
  8.         return id;  
  9.     }  
  10.     public void setId(int id) {  
  11.         this.id = id;  
  12.     }  
  13.     public String getFirstName() {  
  14.         return firstName;  
  15.     }  
  16.     public void setFirstName(String firstName) {  
  17.         this.firstName = firstName;  
  18.     }  
  19.     public String getLastName() {  
  20.         return lastName;  
  21.     }  
  22.     public void setLastName(String lastName) {  
  23.         this.lastName = lastName;  
  24.     }  
  25.     public int getAge() {  
  26.         return age;  
  27.     }  
  28.     public void setAge(int age) {  
  29.         this.age = age;  
  30.     }  
  31.     @Override  
  32.     public String toString() {  
  33.         return "ID: " + id + "FirstName: " + firstName;  
  34.     }  
  35. }  

User.hbm.xml

  1. <?xml version='1.0' encoding='UTF-8'?>  
  2. <!DOCTYPE hibernate-mapping PUBLIC  
  3.           "-//Hibernate/Hibernate Mapping DTD 3.0//EN"  
  4.           "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">  
  5. <hibernate-mapping>  
  6.     <class name="org.zbq.bean.User" table="User">  
  7.         <id name="id" type="int">  
  8.             <generator class="increment"></generator>  
  9.         </id>         
  10.         <property name="firstName" column="firstName" type="string"></property>  
  11.         <property name="lastName" column="lastName" type="string"></property>  
  12.         <property name="age" column="age" type="int"></property>            
  13.     </class>  
  14. </hibernate-mapping>  

UserDAO.java (Interface)

  1. package org.zbq.dao;    
  2. import java.util.List;   
  3. import org.zbq.bean.User;    
  4. public interface UserDAO {  
  5.     public void doCreateUser(User user);  
  6.     public List<User> findAllUsers();  
  7.     public void removeUser(User user);  
  8.     public void updateUser(User user);  
  9.     public User findUserById(int id);  
  10. }  

UserDAOImpl.java

  1. package org.zbq.dao.impl;    
  2. import java.util.List;    
  3. import org.springframework.orm.hibernate3.support.HibernateDaoSupport;  
  4. import org.zbq.bean.User;  
  5. import org.zbq.dao.UserDAO;    
  6. public class UserDAOImpl extends HibernateDaoSupport implements UserDAO {    
  7.     public void doCreateUser(User user) {  
  8.         this.getHibernateTemplate().save(user);  
  9.     }  
  10.   
  11.     @SuppressWarnings("unchecked")  
  12.     public List<User> findAllUsers() {  
  13.         String hql = "from User u order by u.id asc";  
  14.         List<User> list = this.getHibernateTemplate().find(hql);  
  15.         return list;  
  16.     }    
  17.     public void removeUser(User user) {  
  18.         this.getHibernateTemplate().delete(user);  
  19.     }   
  20.     public void updateUser(User user) {  
  21.         this.getHibernateTemplate().update(user);  
  22.     }    
  23.     public User findUserById(int id) {  
  24.         User user = null;  
  25.         user = (User) this.getHibernateTemplate().get(User.class, id);  
  26.         return user;  
  27.     }        
  28. }  

UserService.java (Interface)

  1. package org.zbq.service;    
  2. import java.util.List;    
  3. import org.zbq.bean.User;    
  4. public interface UserService {  
  5.     public void doCreateUser(User user);  
  6.     public List<User> findAllUsers();  
  7.     public void delete(User user);  
  8.     public void update(User user);  
  9.     public User findUserById(int id);  
  10. }  

UserServiceImpl

  1. package org.zbq.service.impl;    
  2. import java.util.List;    
  3. import org.zbq.bean.User;  
  4. import org.zbq.dao.UserDAO;  
  5. import org.zbq.service.UserService;  
  6. public class UserServiceImpl implements UserService {  
  7.     private UserDAO dao;     
  8.     public UserDAO getDao() {  
  9.         return dao;  
  10.     }    
  11.     public void setDao(UserDAO dao) {  
  12.         this.dao = dao;  
  13.     }    
  14.     public void doCreateUser(User user) {  
  15.         this.dao.doCreateUser(user);  
  16.     }    
  17.     public List<User> findAllUsers() {  
  18.         return this.dao.findAllUsers();  
  19.     }   
  20.     public void delete(User user) {  
  21.         this.dao.removeUser(user);  
  22.     }   
  23.     public void update(User user) {  
  24.         this.dao.updateUser(user);  
  25.     }    
  26.     public User findUserById(int id) {  
  27.         return this.dao.findUserById(id);  
  28.     }  
  29.   
  30. }  

关于User的Action

SaveUserAction.java

  1. package org.zbq.action.user;  
  2. import org.zbq.bean.User;  
  3. import org.zbq.service.UserService;  
  4. import com.opensymphony.xwork2.ActionSupport;  
  5. public class SaveUserAction extends ActionSupport {  
  6.     private User user;  
  7.     private UserService userService;     
  8.     public UserService getUserService() {  
  9.         return userService;  
  10.     }  
  11.     public void setUserService(UserService userService) {  
  12.         this.userService = userService;  
  13.     }  
  14.     public User getUser() {  
  15.         return user;  
  16.     }  
  17.     public void setUser(User user) {  
  18.         this.user = user;  
  19.     }  
  20.     @Override  
  21.     public String execute() throws Exception {  
  22. //      调用service相关的方法,完成实际的业务处理  
  23.         this.userService.doCreateUser(user);  
  24.         return SUCCESS ;  
  25.     }  
  26. }  

ListUserAction.java

  1. package org.zbq.action.user;   
  2. import java.util.Map;  
  3. import org.zbq.service.UserService;  
  4. import com.opensymphony.xwork2.ActionContext;  
  5. import com.opensymphony.xwork2.ActionSupport;  
  6. public class ListUserAction extends ActionSupport {  
  7.     private UserService userService;  
  8.     public UserService getUserService() {  
  9.         return userService;  
  10.     }  
  11.     public void setUserService(UserService userService) {  
  12.         this.userService = userService;  
  13.     }      
  14.     @SuppressWarnings("unchecked")  
  15.     @Override  
  16.     public String execute() throws Exception {          
  17.         Map request = (Map) ActionContext.getContext().get("request");     
  18.         request.put("list", this.userService.findAllUsers());  
  19.         return SUCCESS;  
  20.     }  
  21. }  

DeleteUserAction.java

  1. package org.zbq.action.user;  
  2. import org.zbq.bean.User;  
  3. import org.zbq.service.UserService;  
  4. import com.opensymphony.xwork2.ActionSupport;  
  5. public class DeleteUserAction extends ActionSupport {  
  6.     private User user;  
  7.     private UserService userService;   
  8.     public User getUser() {  
  9.         return user;  
  10.     } 
  11.     public void setUser(User user) {  
  12.         this.user = user;  
  13.     }  
  14.     public UserService getUserService() {  
  15.         return userService;  
  16.     }  
  17.     public void setUserService(UserService userService) {  
  18.         this.userService = userService;  
  19.     }  
  20.     @Override  
  21.     public String execute() throws Exception {  
  22.         this.userService.delete(user);  
  23.         return SUCCESS;  
  24.     }  
  25. }  

UpdatePUser.java

  1. package org.zbq.action.user;    
  2. import org.zbq.bean.User;  
  3. import org.zbq.service.UserService;  
  4. import com.opensymphony.xwork2.ActionSupport;  
  5. public class UpdatePUser extends ActionSupport {  
  6.     private User user;  
  7.     private UserService userService;        
  8.     public User getUser() {  
  9.         return user;  
  10.     }    
  11.     public void setUser(User user) {  
  12.         this.user = user;  
  13.     }    
  14.     public UserService getUserService() {  
  15.         return userService;  
  16.     }    
  17.     public void setUserService(UserService userService) {  
  18.         this.userService = userService;  
  19.     }   
  20.     @Override  
  21.     public String execute() throws Exception {  
  22.         this.user = this.userService.findUserById(user.getId());          
  23.         return SUCCESS;  
  24.     }  
  25. }  

UpdateUserAction.java

  1. package org.zbq.action.user;    
  2. import org.zbq.bean.User;  
  3. import org.zbq.service.UserService;  
  4. import com.opensymphony.xwork2.ActionSupport;  
  5. public class UpdateUserAction extends ActionSupport {  
  6.     private User user;  
  7.     private UserService userService;  
  8.     public User getUser() {  
  9.         return user;  
  10.     }  
  11.     public void setUser(User user) {  
  12.         this.user = user;  
  13.     }  
  14.     public UserService getUserService() {  
  15.         return userService;  
  16.     }  
  17.     public void setUserService(UserService userService) {  
  18.         this.userService = userService;  
  19.     }  
  20.     @Override  
  21.     public String execute() throws Exception {  
  22.         this.userService.update(this.user);  
  23.         return SUCCESS;  
  24.     }  
  25. }  

struts.xml

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE struts PUBLIC  
  3.     "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"  
  4.     "http://struts.apache.org/dtds/struts-2.3.dtd">  
  5. <struts>  
  6.     <package name="ssh2" extends="struts-default">  
  7.         <action name="saveUser" class="saveUserAction">  
  8.             <result name="success" type="redirect">listUser.action</result>  
  9.         </action>         
  10.         <action name="listUser" class="listUserAction">  
  11.             <result name="success">/list.jsp</result>  
  12.         </action>         
  13.         <action name="deleteUser" class="removeUserAction">  
  14.             <result name="success" type="redirect">listUser.action</result>  
  15.         </action>     
  16.         <action name="updatePUser" class="updatePUserAction">  
  17.             <result name="success">/update.jsp</result>  
  18.         </action>           
  19.         <action name="updateUser" class="updateUserAction">  
  20.             <result name="success" type="redirect">listUser.action</result>  
  21.         </action>  
  22.     </package>  
  23. </struts>  

web.xml

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app version="2.5"   
  3.     xmlns="http://java.sun.com/xml/ns/javaee"   
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
  6.     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
  7.   <welcome-file-list>  
  8.     <welcome-file>index.jsp</welcome-file>  
  9.   </welcome-file-list>     
  10.   <filter>  
  11.     <filter-name>struts2</filter-name>  
  12.     <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  
  13.   </filter>  
  14.   <filter-mapping>  
  15.     <filter-name>struts2</filter-name>  
  16.     <url-pattern>/*</url-pattern>  
  17.   </filter-mapping>  
  18.   <listener>  
  19.     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
  20.   </listener>  
  21. </web-app>  
applictionContext.xml
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans  
  3.     xmlns="http://www.springframework.org/schema/beans"  
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  5.     xmlns:p="http://www.springframework.org/schema/p"  
  6.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">   
  7.     <!-- 想到与Hibernate的hibernate.cfg.xml -->  
  8.     <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">  
  9.         <property name="driverClassName">  
  10.             <value>org.gjt.mm.mysql.Driver</value>  
  11.         </property>            
  12.         <property name="url">  
  13.             <value>jdbc:mysql://127.0.0.1:3306/ssh</value>  
  14.         </property>            
  15.         <property name="username">  
  16.             <value></value>  
  17.         </property>            
  18.         <property name="password">  
  19.             <value></value>  
  20.         </property>            
  21.     </bean>    
  22.     <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
  23.         <property name="dataSource">  
  24.             <ref local="dataSource"/>  
  25.         </property>            
  26.         <property name="mappingResources">  
  27.             <list>  
  28.                 <value>org/zbq/bean/User.hbm.xml</value>                      
  29.             </list>  
  30.         </property>            
  31.         <property name="hibernateProperties">  
  32.             <props>  
  33.                 <prop key="hibernate.dialect">  
  34.                     org.hibernate.dialect.MySQLDialect  
  35.                 </prop>  
  36.                   
  37.                 <prop key="hibernate.show_sql">  
  38.                     true  
  39.                 </prop>  
  40.             </props>  
  41.         </property>            
  42.     </bean>        
  43.     <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">  
  44.         <property name="sessionFactory">  
  45.             <ref local="sessionFactory"/>  
  46.         </property>  
  47.     </bean>        
  48.     <bean id="userDAO" class="org.zbq.dao.impl.UserDAOImpl" scope="singleton">  
  49.         <property name="sessionFactory">  
  50.             <ref local="sessionFactory"/>  
  51.         </property>  
  52.     </bean>        
  53.     <bean id="userServiceTarget" class="org.zbq.service.impl.UserServiceImpl" scope="singleton">  
  54.         <property name="dao" ref="userDAO" />  
  55.     </bean>       
  56.     <bean id="userService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">  
  57.         <property name="target">  
  58.             <ref local="userServiceTarget"/>  
  59.         </property>            
  60.         <property name="transactionManager">  
  61.             <ref local="transactionManager"/>  
  62.         </property>            
  63.         <property name="transactionAttributes">  
  64.             <props>  
  65.                 <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>  
  66.                 <prop key="*">PROPAGATION_REQUIRED</prop>  
  67.             </props>  
  68.         </property>  
  69.     </bean>        
  70.     <bean id="saveUserAction" class="org.zbq.action.user.SaveUserAction" scope="prototype">  
  71.         <property name="userService" ref="userService"></property>  
  72.     </bean>      
  73.     <bean id="listUserAction" class="org.zbq.action.user.ListUserAction" scope="prototype">  
  74.         <property name="userService" ref="userService"></property>  
  75.     </bean>        
  76.     <bean id="removeUserAction" class="org.zbq.action.user.DeleteUserAction" scope="prototype">  
  77.         <property name="userService" ref="userService"></property>        
  78.     </bean>        
  79.     <bean id="updatePUserAction" class="org.zbq.action.user.UpdatePUser">  
  80.         <property name="userService" ref="userService"></property>  
  81.     </bean>        
  82.     <bean id="updateUserAction" class="org.zbq.action.user.UpdateUserAction" scope="prototype">  
  83.         <property name="userService" ref="userService"></property>  
  84.     </bean>  
  85. </beans>  

index.jsp

  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
  2. <%@ taglib prefix="s" uri="/struts-tags" %>    
  3. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  4. <html>  
  5.   <head>        
  6.     <title>My JSP 'index.jsp' starting page</title>    
  7.   </head>      
  8.   <body>  
  9.     <h1><font color="red">Operation List</font></h1>  
  10.     <s:a href="save.jsp">Save User</s:a><br/>  
  11.     <s:a href="listUser.action">List Users</s:a>        
  12.   </body>  
  13. </html>  

list.jsp

  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
  2. <%@ taglib prefix="s" uri="/struts-tags"%>    
  3. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  4. <html>  
  5.   <head>  
  6.     <base href="<%=basePath%>">        
  7.     <title>My JSP 'list.jsp' starting page</title>  
  8.     <script type="text/javascript">  
  9.         function del(){  
  10.             if(confirm("Are you sure?")){  
  11.                 return true;  
  12.             }  
  13.             return false;  
  14.         }  
  15.     </script>  
  16.   </head>      
  17.   <body>  
  18.     <h1><font color="red">Users List</font></h1>  
  19.     <s:a href="/ssh2/index.jsp"><<--</s:a>  
  20.     <table border="1" width="80%" align="center">  
  21.         <tr>  
  22.             <th>序号</th>  
  23.             <th>姓</th>  
  24.             <th>名</th>  
  25.             <th>年龄</th>  
  26.             <th>删除</th>  
  27.             <th>更新</th>  
  28.         </tr>         
  29.         <s:iterator value="#request.list" id="us">  
  30.             <tr>  
  31.                 <td>  
  32.                     <s:property value="#us.id"/>  
  33.                 </td>  
  34.                 <td>  
  35.                     <s:property value="#us.firstName"/>  
  36.                 </td>  
  37.                 <td>  
  38.                     <s:property value="#us.lastName"/>  
  39.                 </td>  
  40.                 <td>  
  41.                     <s:property value="#us.age"/>  
  42.                 </td>  
  43.                 <td align="center">  
  44.                     <s:a href="deleteUser.action?user.id=%{#us.id}" onclick="return del()">Delete</s:a>  
  45.                 </td>  
  46.                 <td align="center">  
  47.                     <s:a href="updatePUser.action?user.id=%{#us.id}">Update</s:a>         
  48.                 </td>  
  49.             </tr>  
  50.         </s:iterator>  
  51.     </table>       
  52.   </body>  
  53. </html>  

save.jsp

  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
  2. <%@ taglib prefix="s" uri="/struts-tags" %>    
  3. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  4. <html>  
  5.   <head>        
  6.     <title>My JSP 'index.jsp' starting page</title>    
  7.   </head>      
  8.   <body>  
  9.     <h1><font color="red">Save User</font></h1>            
  10.     <s:form action="saveUser">  
  11.         <s:textfield name="user.firstName" label="First Name"></s:textfield>  
  12.         <s:textfield name="user.lastName" label="Last Name"></s:textfield>  
  13.         <s:textfield name="user.age" label="Age"></s:textfield>  
  14.         <s:submit></s:submit>  
  15.     </s:form>       
  16.   </body>  
  17. </html>  

update.jsp

  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
  2. <%@ taglib prefix="s" uri="/struts-tags"%>   
  3. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  4. <html>  
  5.   <head>  
  6.     <base href="<%=basePath%>">        
  7.     <title>My JSP 'update.jsp' starting page</title>  
  8.   </head>    
  9.   <body>  
  10.     <h1><font color="red">Update User</font></h1>        
  11.     <s:form action="updateUser">  
  12.     <table>  
  13.         <tr>  
  14.             <td>  
  15.                 <s:hidden name="user.id" value="%{user.id}"></s:hidden>  
  16.             </td>  
  17.         </tr>      
  18.         <tr>  
  19.             <td>  
  20.                 <s:textfield name="user.firstName" value="%{user.firstName}" label="First Name"></s:textfield>  
  21.             </td>  
  22.         </tr>            
  23.         <tr>  
  24.             <td>  
  25.                 <s:textfield name="user.lastName" value="%{user.lastName}" label="Last Name"></s:textfield>  
  26.             </td>  
  27.         </tr>            
  28.         <tr>  
  29.             <td>  
  30.                 <s:textfield name="user.age" value="%{user.age}" label="Age"></s:textfield>  
  31.             </td>  
  32.         </tr>            
  33.         <tr>  
  34.             <td>  
  35.                 <s:submit></s:submit>  
  36.             </td>  
  37.         </tr>  
  38.     </table>    
  39.     </s:form>        
  40.   </body>  
  41. </html>  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值