sturts2的<s:datetimepicker/>时间显示有错

<s:head />



<s:datetimepicker label="开始时间" name="start" type="time" value="13:00"/>


这样显不了时间


<s:head />

改为
<s:head theme="ajax" />


就可以正常显示时间了,

但默认的是显示中文的时间的,
还要添加


<s:datetimepicker label="开始时间" name="start" type="time" value="13:00" language="en-us"/>


language="en-us"就显示正常
# 题目重述 在 MyEclipse 8.5 环境下,使用 MySQL 5.1、Struts2.0 和 JavaEE 5.0 技术栈创建一个名为 `employee mis` 的 Web 工程,实现员工信息的增加和浏览功能。具体要求如下: 1. **数据库创建** - 创建名为 `employee_db` 的数据库; - 在该数据库中创建 `employee` 表,结构如下: - `id`: int,主键,自增; - `name`: varchar(40),员工姓名; - `age`: int,员工年龄; - `job`: varchar(20),员工岗位; - 保留建库脚本。 2. **框架集成** - 为项目添加 Struts2 和 Hibernate 支持; - 使用 Hibernate 逆向工程生成对应 `employee` 表的数据模型层 Java 代码。 3. **员工信息浏览功能** - 在 `EmployeeAction` 类中添加 `findAll()` 方法,调用 Hibernate 生成的代码实现无条件查询; - 创建 `employee_show.jsp` 页面用于展示所有员工信息; - 在 `main.jsp` 中点击“员工信息浏览”跳转至 `employee_show.jsp` 并显示全部记录。 4. **员工信息查询功能(有条件查询)** - 在 `EmployeeAction` 类中添加 `find()` 方法,支持根据用户输入条件查询; - 创建 `employee_search.jsp` 页面,提供查询界面; - 点击 `main.jsp` 上的“员工信息查询”进入该页面,输入条件后返回匹配结果并展示。 --- # 详解 ### 步骤 1:环境准备与项目创建 - 打开 MyEclipse 8.5,新建 Dynamic Web Project; - 项目命名为 `employee_mis`(注意命名规范,建议使用下划线或驼峰命名); - 目标运行环境选择 JavaEE 5.0; - 添加 Struts2 支持:右键项目 → MyEclipse → Add Struts Capabilities → 选择 Struts 2.x; - 添加 Hibernate 支持:右键项目 → MyEclipse → Add Hibernate Capabilities → 选择 Hibernate 3.x,配置连接 MySQL 5.1 的 `employee_db` 数据库。 ### 步骤 2:数据库与建表 ```sql CREATE DATABASE IF NOT EXISTS employee_db CHARACTER SET utf8 COLLATE utf8_general_ci; USE employee_db; CREATE TABLE employee ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(40), age INT, job VARCHAR(20) ); ``` 将上述 SQL 脚本保存为 `create_table.sql` 并放入项目的 `src` 或 `database` 文件夹中,作为建库脚本保留。 ### 步骤 3:Hibernate 逆向工程 - 在 MyEclipse 中配置好 Hibernate 连接; - 使用 MyEclipse 的 “Hibernate Reverse Engineering” 功能,选择 `employee` 表; - 自动生成实体类 `Employee.java` 和映射文件 `Employee.hbm.xml`; - 确保 DAO 层基础方法可用,如 `sessionFactory.openSession().createCriteria(Employee.class).list()`。 ### 步骤 4:实现员工信息浏览功能 #### (1) 编写 `EmployeeAction.java` ```java public class EmployeeAction extends ActionSupport { private List<Employee> employees; private EmployeeDAO employeeDAO = new EmployeeDAO(); // 无条件查询所有员工 public String findAll() { employees = employeeDAO.findAll(); return "success"; } // getter/setter public List<Employee> getEmployees() { return employees; } } ``` #### (2) 配置 `struts.xml` ```xml <package name="default" extends="struts-default"> <action name="findAll" class="EmployeeAction" method="findAll"> <result name="success">/employee_show.jsp</result> </action> </package> ``` #### (3) 创建 `employee_show.jsp` ```jsp <%@ page contentType="text/html;charset=UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <html> <head><title>员工信息列表</title></head> <body> <h2>所有员工信息</h2> <table border="1"> <tr><th>ID</th><th>姓名</th><th>年龄</th><th>岗位</th></tr> <s:iterator value="employees" var="emp"> <tr> <td><s:property value="#emp.id"/></td> <td><s:property value="#emp.name"/></td> <td><s:property value="#emp.age"/></td> <td><s:property value="#emp.job"/></td> </tr> </s:iterator> </table> </body> </html> ``` #### (4) main.jsp 导航链接 ```jsp <a href="findAll">员工信息浏览</a><br/> <a href="toSearch">员工信息查询</a> ``` ### 步骤 5:实现员工信息有条件查询 #### (1) 修改 `EmployeeAction.java` ```java private String name; // 接收查询参数 public String find() { employees = employeeDAO.findByName(name); return "success"; } // getter/setter for name public void setName(String name) { this.name = name; } public String getName() { return name; } ``` #### (2) `EmployeeDAO.java` 添加查询方法 ```java public List<Employee> findByName(String name) { Session session = sessionFactory.openSession(); Criteria criteria = session.createCriteria(Employee.class); if (name != null && !name.isEmpty()) { criteria.add(Restrictions.like("name", "%" + name + "%")); } return criteria.list(); } ``` #### (3) `struts.xml` 添加 action ```xml <action name="find" class="EmployeeAction" method="find"> <result name="success">/employee_search.jsp</result> </action> <action name="toSearch" result="employee_search.jsp"/> ``` #### (4) 创建 `employee_search.jsp` ```jsp <%@ page contentType="text/html;charset=UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <html> <head><title>员工信息查询</title></head> <body> <h2>员工信息查询</h2> <form action="find" method="post"> 姓名:<input type="text" name="name"/><br/> <input type="submit" value="查询"/> </form> <h3>查询结果:</h3> <table border="1"> <tr><th>ID</th><th>姓名</th><th>年龄</th><th>岗位</th></tr> <s:iterator value="employees" var="emp"> <tr> <td><s:property value="#emp.id"/></td> <td><s:property value="#emp.name"/></td> <td><s:property value="#emp.age"/></td> <td><s:property value="#emp.job"/></td> </tr> </s:iterator> </table> </body> </html> ``` --- # 知识点 ## 1. Struts2 框架基本工作流程 MVC 架构实现,通过 `struts.xml` 配置 Action 与 JSP 视图映射,请求由 FilterDispatcher(或 StrutsPrepareAndExecuteFilter)拦截并转发。 ## 2. Hibernate 逆向工程与 ORM 映射 通过数据库表自动生成实体类和 `.hbm.xml` 映射文件,实现 Java 对象与数据库记录之间的自动转换。 ## 3. JDBC 与 MySQL 连接配置 使用标准 JDBC URL `$jdbc:mysql://localhost:3306/employee_db$` 连接数据库,需确保驱动版本兼容 MySQL 5.1。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值