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>
  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. @SuppressWarnings("unchecked")
  11. public List<User> findAllUsers() {
  12. String hql = "from User u order by u.id asc";
  13. List<User> list = this.getHibernateTemplate().find(hql);
  14. return list;
  15. }
  16. public void removeUser(User user) {
  17. this.getHibernateTemplate().delete(user);
  18. }
  19. public void updateUser(User user) {
  20. this.getHibernateTemplate().update(user);
  21. }
  22. public User findUserById(int id) {
  23. User user = null;
  24. user = (User) this.getHibernateTemplate().get(User.class, id);
  25. return user;
  26. }
  27. }

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. }

关于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. <prop key="hibernate.show_sql">
  37. true
  38. </prop>
  39. </props>
  40. </property>
  41. </bean>
  42. <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  43. <property name="sessionFactory">
  44. <ref local="sessionFactory"/>
  45. </property>
  46. </bean>
  47. <bean id="userDAO" class="org.zbq.dao.impl.UserDAOImpl" scope="singleton">
  48. <property name="sessionFactory">
  49. <ref local="sessionFactory"/>
  50. </property>
  51. </bean>
  52. <bean id="userServiceTarget" class="org.zbq.service.impl.UserServiceImpl" scope="singleton">
  53. <property name="dao" ref="userDAO" />
  54. </bean>
  55. <bean id="userService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
  56. <property name="target">
  57. <ref local="userServiceTarget"/>
  58. </property>
  59. <property name="transactionManager">
  60. <ref local="transactionManager"/>
  61. </property>
  62. <property name="transactionAttributes">
  63. <props>
  64. <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
  65. <prop key="*">PROPAGATION_REQUIRED</prop>
  66. </props>
  67. </property>
  68. </bean>
  69. <bean id="saveUserAction" class="org.zbq.action.user.SaveUserAction" scope="prototype">
  70. <property name="userService" ref="userService"></property>
  71. </bean>
  72. <bean id="listUserAction" class="org.zbq.action.user.ListUserAction" scope="prototype">
  73. <property name="userService" ref="userService"></property>
  74. </bean>
  75. <bean id="removeUserAction" class="org.zbq.action.user.DeleteUserAction" scope="prototype">
  76. <property name="userService" ref="userService"></property>
  77. </bean>
  78. <bean id="updatePUserAction" class="org.zbq.action.user.UpdatePUser">
  79. <property name="userService" ref="userService"></property>
  80. </bean>
  81. <bean id="updateUserAction" class="org.zbq.action.user.UpdateUserAction" scope="prototype">
  82. <property name="userService" ref="userService"></property>
  83. </bean>
  84. </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>

最新文章

  1. 比较典型的带case的group by语句
  2. ios项目中安装和使用CocoaPods
  3. CEO、COO、CFO、CTO
  4. iOS学习笔记-CoreData
  5. mac qq截图功能失效后,如何重启截图功能?
  6. PHP根据经纬度,计算2点之间的距离的2种方法
  7. Bulk-Only传输协议 UFI命令块规范
  8. BZOJ 1627: [Usaco2007 Dec]穿越泥地( BFS )
  9. Java Web(五) JSP详解(四大作用域九大内置对象等)
  10. 面向接口编程详解-Java篇
  11. .NET Core跨平台的奥秘[上篇]:历史的枷锁
  12. 《Java大学教程》—读后总结
  13. http请求参数中文乱码的问题
  14. [BZOJ3339]Rmq Problem / mex
  15. jvm参数与GC
  16. Semaphore实现的生产者消费者程序
  17. [LeetCode] 434. Number of Segments in a String_Easy
  18. 【译】第22节---Fluent API - EntityTypeConfiguration类
  19. windows下apk查看工具的原理
  20. 如何在JS数组特定索引处指定位置插入元素?

热门文章

  1. ubuntu tomcat的安装与配置
  2. perl模拟登录(1)
  3. net_device-&gt;uc_promisc
  4. selenium===splinter模块和selenium异曲同工
  5. 64_f1
  6. mongodb 学习笔记 2 --- 修改器
  7. [hadoop][会装]hadoop ha模式安装
  8. puppet安装和配置
  9. RabbitMQ 基础知识
  10. mac系统命令行获取root权限