人力资源系统常见的需求
一、给出员工所有的基本信息的字段
二、选择想要查询的字段,查询
三、再选择的字段,根据不同条件查询结果
页面一:选择字段页面
<html>
<script type="text/javascript">
function validate(){
var tree=document.getElementsByName("checkbox");
var i;
var flag = false;
for(i=0;i<tree.length&&!flag;i++){
flag = tree[i].checked;
}
if(flag)
document.query.submit();
else
alert("请您输入需要查看的选项!");
}
function checkAll(e)
{
var aa = document.getElementsByName("checkbox");
for (var i=0; i<aa.length; i++)
aa[i].checked = e.checked;
}
</script>
<body>
<form action="${pageContext.request.contextPath}/customQuery.do?method=choose" method="post" name="query">
<input type="checkbox" name="mmAll" onClick="checkAll(this);">全选
<table>
<tr>
<td><input type="checkbox" name="checkbox" value="Employee_ID" >
员工编号</td>
<td><input type="checkbox" name="checkbox" value="Employee_Name" >
员工姓名</td>
<td><input type="checkbox" name="checkbox" value="Dept_Name">
部门名称</td>
<td><input type="checkbox" name="checkbox" value="Post_Name">
职务名称</td>
<td ><input type="checkbox" name="checkbox" value="Class_Name">
岗位名称</td>
</tr>
<tr>
<td ><input type="checkbox" name="checkbox" value="Level_Name">
岗级名称</td>
<td><input type="checkbox" name="checkbox" value="Base_Salary" <%=flag?" ":"disabled"%> >
基准工资</td><!-- 用于权限的控制-->
</tr>
<tr>
<td><input type="checkbox" name="checkbox" value="Sex">
性 别 </td>
<td><input type="checkbox" name="checkbox" value="Birthday">
生 日 </td>
<td><input type="checkbox" name="checkbox" value="Native_Place">
籍 贯 </td>
<td><input type="checkbox" name="checkbox" value="Nation">
民 族 </td>
<td><input type="checkbox" name="checkbox" value="Link_Phone">
联系电话</td>
</tr>
<tr>
<td colspan="5" align="center">
<input type="button" name="Submit" value="提交" onClick="validate();">
</td>
</tr>
</table>
</form>
</body>
</html>
提交数据后,action处理自定义字段
public class CustomQueryAction extends DispatchAction {
public ActionForward choose(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String sql="select ";
List<String> displayList = new ArrayList<String>();
HttpSession session = request.getSession();
session.setAttribute("postList", null);//每次查询前清空
String[] checked = request.getParameterValues("checkbox");
for(int i=0;i<checked.length;i++){//获取自定义查询的属性列表
sql += checked[i]+",";
displayList.add(checked[i]);
}
sql =sql.substring(0, sql.length()-1)+" from V_Employee where 1=1";//从视图中查询数据
System.out.println(sql);
session.setAttribute("querySql", sql);//存入session,方便根据不同条件再查询
StaffRepolyDaoImpl staff=new StaffRepolyDaoImpl();
List postList = staff.postExecuteQuery();
session.setAttribute("postList", postList);//查询结果
session.setAttribute("display", displayList);//自定义查询的属性
System.out.println(displayList.size());
return mapping.findForward("query");
}
}
页面二:显示数据
<HTML>
<BODY>
<form action="findEmpByDef.do">
<input type="hidden" name="sql" value="<%=session.getAttribute("querySql")%>"/>
<!--查询条件。。。根据查询条件再次把之前自定义好的属性查询-->
<table>
<tr>
<td align="center"><input type="submit" value="查询"/></td>
</tr>
</table>
</form>
<br>
<table style="width:100%">
<tr class="thead">
<%List list1 = (List)session.getAttribute("display");
EmployeeHashMap hashMap = new EmployeeHashMap();
if(list1!=null){
for(int m=0;m<list1.size();m++){%>
<td><div align="center"><font style="font-weight:bold"><%=hashMap.map.get(list1.get(m))%></font></div></td>
<%}}%>
</tr>
<%List defEmp = (List)session.getAttribute("defEmp");
f(defEmp!=null){
for(int j=0;j<defEmp.size();j++){
Boolean flag = false;
EmployeeView emp = (EmployeeView)defEmp.get(j);%>
<tr align="center">
<%for(int i=0;i<list1.size()&&!flag;i++)
flag = list1.get(i).equals("Employee_ID");
if(flag){%>
<td><%=emp.getEmployee_ID()%></td>
<%flag = false;}%>
<% for(int i=0;i<list1.size()&&!flag;i++)
flag=list1.get(i).equals("Employee_Name");
if(flag){%>
<td><%=emp.getEmployee_Name()%></td>
<%flag = false;}%>
...其他属性
<% for(int i=0;i<list1.size()&&!flag;i++)
flag=list1.get(i).equals("Branch_NO");
if(flag){%>
<td><%=emp.getBranch_NO()%></td>
<%flag = false;}%>
</tr>
<% }}%>
</table>
</BODY>
</HTML>
分享到:
相关推荐
在JavaServer Pages (JSP) 中,我们经常需要在Java代码和JavaScript之间传递数据。这在构建动态网页时尤其重要,因为Java代码通常用于处理服务器端逻辑,而JavaScript则负责客户端交互。这篇博客将探讨如何在JSP中...
- **前端交互**:通常,我们会使用JavaScript库(如jQuery或Vue.js)来处理用户的输入事件,实时发送AJAX请求到服务器获取匹配项,并更新DOM显示建议。 - **后端处理**:服务器端需要接收并处理这些请求,根据输入...
结合JSP(JavaServer Pages),我们可以构建动态、交互性强的Web应用。在本示例中,我们将讨论如何使用Ajax实现草稿自动保存功能,以提高用户体验。 首先,我们需要创建HTML表单,即`index.html`,它包含用户输入...
该压缩包文件“jsp+sql操作系统教学网站设计(论文+程序)-jsp-java源程序代码-计算机课程毕设.rar”提供了一个基于JSP和SQL的操作系统教学网站的完整项目,包括论文和程序源代码,适用于计算机科学与技术专业的毕业...
【基于JSP+MySQL的网上书店系统】是一个典型的Web应用程序示例,主要使用Java Server Pages(JSP)技术和MySQL数据库来构建一个在线购物平台,专为图书销售设计。这个项目对于学习Web开发,特别是JSP和数据库交互的...
总的来说,FCKeditor与Java和JSP的集成为Web应用提供了一个功能强大的文本编辑功能,使得用户能够在浏览器中方便地编辑和格式化内容,而后端则负责处理这些内容的保存和管理。这个实例是学习和实践这种集成方式的一...
本资源提供了一个基于JSP(Java Server Pages)的自定义报表打印源程序代码,这为开发者提供了极大的灵活性和便利性。JSP是一种动态网页技术,它可以将Java代码嵌入到HTML页面中,使得服务器端能够处理数据并返回...
### Java源码网上购物系统(JavaBean+Servlet+JSP)关键知识点解析 #### 一、项目概述 在本项目中,“Java源码网上购物系统”主要基于JavaBean、Servlet和JSP技术栈构建而成。这是一套完整的网上商城解决方案,涵盖了...
在JSP页面中,可以混合HTML、CSS、JavaScript以及Java代码。通过在HTML页面中插入Java代码片段或使用JSP指令,开发者能够创建交互式和数据驱动的网页。 **Servlet与JSP的关系** Servlet是Java EE中的核心组件,主要...
网页计算器是一种利用网页技术实现基本数学运算的应用,它通常由HTML、CSS和JavaScript构建前端界面,而后端则通过Java和JSP处理用户输入的计算请求。在这个项目中,我们将深入探讨如何利用这些技术构建一个简单的...
1. **JSP页面**: JSP页面由HTML、CSS、JavaScript和嵌入的Java代码组成,这些Java代码可以是脚本元素、指令元素或动作元素。 2. **JSP转换过程**: 当服务器接收到JSP请求时,会将其转换为Servlet源代码,然后编译为...
通过这个完整的Java Web开发教程,开发者不仅能够学习到JavaScript、DOM操作、Servlet、JSP等基础知识,还能掌握如Spring、Spring MVC等高级框架的使用,以及自定义ORM框架的设计,从而具备构建复杂企业级Web应用的...
在`test`数据库中,`user`表存储了用户注册的数据,包括用户自定义的字段以及一个自增的`id`字段,作为主键。 5. **实体类(User类)**:在Java代码中,`User`类代表了`user`表中的一条记录。每个字段对应表中的一...
在JSP中,可以借助JavaScript库如Highcharts、ECharts或D3.js来创建饼图。这些库提供了丰富的API和定制选项,可以轻松地将数据库中的数据转换为美观且直观的图形。在描述中提到的"饼图"可能就是用于展示从SQL Server...
JSP的核心概念有JSP指令、脚本元素、JSP表达式和自定义标签等。在职工信息管理系统中,JSP用于展示用户界面,接收用户输入,处理请求,并将结果呈现给用户。 【数据库系统】 数据库系统是用于存储、管理和检索数据...
此外,JSP还支持自定义标签库(Tag Libraries),这在创建复杂功能时提供了便利,比如在QQ空间的实现中可能会用到自定义标签来处理用户登录、发布动态等操作。 **MyBatis** MyBatis是一个轻量级的Java持久层框架,...
在JSP中,可以利用JSTL(JavaServer Pages Standard Tag Library)或自定义标签库实现分页逻辑,通过查询数据库获取每页的数据并渲染到页面上。 3. **数据管理**:系统应提供对学生的增删改查操作。JSP和Servlet...
例如,用户提交留言时,JSP页面会接收到表单数据,然后通过内置的Java脚本或自定义的JavaBean组件,将这些数据保存到MySQL数据库。同时,当用户浏览留言板时,JSP页面会从数据库中检索留言并显示在页面上。 MySQL是...
【JSP+JDBC留言管理程序】是一种基于Java Web技术的简单应用,它结合了JavaServer Pages(JSP)和Java Database Connectivity(JDBC)来实现对用户留言的数据存储和展示功能。在这个程序中,用户可以查看已有的留言...