`
fly533
  • 浏览: 109341 次
  • 性别: Icon_minigender_1
  • 来自: 广西
社区版块
存档分类
最新评论

java+js+jsp用户自定义字段查询

阅读更多
人力资源系统常见的需求
一、给出员工所有的基本信息的字段
二、选择想要查询的字段,查询
三、再选择的字段,根据不同条件查询结果

页面一:选择字段页面

<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>  
分享到:
评论

相关推荐

    JSP中java代码与js之间的传值

    在JavaServer Pages (JSP) 中,我们经常需要在Java代码和JavaScript之间传递数据。这在构建动态网页时尤其重要,因为Java代码通常用于处理服务器端逻辑,而JavaScript则负责客户端交互。这篇博客将探讨如何在JSP中...

    JSP自定义标签之自动完成框

    - **前端交互**:通常,我们会使用JavaScript库(如jQuery或Vue.js)来处理用户的输入事件,实时发送AJAX请求到服务器获取匹配项,并更新DOM显示建议。 - **后端处理**:服务器端需要接收并处理这些请求,根据输入...

    ajax+jsp草稿自动保存

    结合JSP(JavaServer Pages),我们可以构建动态、交互性强的Web应用。在本示例中,我们将讨论如何使用Ajax实现草稿自动保存功能,以提高用户体验。 首先,我们需要创建HTML表单,即`index.html`,它包含用户输入...

    jsp+sql操作系统教学网站设计(论文+程序)-jsp-java源程序代码-计算机课程毕设.rar

    该压缩包文件“jsp+sql操作系统教学网站设计(论文+程序)-jsp-java源程序代码-计算机课程毕设.rar”提供了一个基于JSP和SQL的操作系统教学网站的完整项目,包括论文和程序源代码,适用于计算机科学与技术专业的毕业...

    基于jsp+mysql的网上书店系统

    【基于JSP+MySQL的网上书店系统】是一个典型的Web应用程序示例,主要使用Java Server Pages(JSP)技术和MySQL数据库来构建一个在线购物平台,专为图书销售设计。这个项目对于学习Web开发,特别是JSP和数据库交互的...

    fck+jsp+java实例

    总的来说,FCKeditor与Java和JSP的集成为Web应用提供了一个功能强大的文本编辑功能,使得用户能够在浏览器中方便地编辑和格式化内容,而后端则负责处理这些内容的保存和管理。这个实例是学习和实践这种集成方式的一...

    自定义报表打印JSP源程序代码

    本资源提供了一个基于JSP(Java Server Pages)的自定义报表打印源程序代码,这为开发者提供了极大的灵活性和便利性。JSP是一种动态网页技术,它可以将Java代码嵌入到HTML页面中,使得服务器端能够处理数据并返回...

    java源码网上购物系统(JavaBean+Servlet+jsp)

    ### Java源码网上购物系统(JavaBean+Servlet+JSP)关键知识点解析 #### 一、项目概述 在本项目中,“Java源码网上购物系统”主要基于JavaBean、Servlet和JSP技术栈构建而成。这是一套完整的网上商城解决方案,涵盖了...

    JSP华源网校+西部软件JSP版

    在JSP页面中,可以混合HTML、CSS、JavaScript以及Java代码。通过在HTML页面中插入Java代码片段或使用JSP指令,开发者能够创建交互式和数据驱动的网页。 **Servlet与JSP的关系** Servlet是Java EE中的核心组件,主要...

    基于java和jsp编写的一个网页计算器

    网页计算器是一种利用网页技术实现基本数学运算的应用,它通常由HTML、CSS和JavaScript构建前端界面,而后端则通过Java和JSP处理用户输入的计算请求。在这个项目中,我们将深入探讨如何利用这些技术构建一个简单的...

    java EE展示层组件JSP2.0

    1. **JSP页面**: JSP页面由HTML、CSS、JavaScript和嵌入的Java代码组成,这些Java代码可以是脚本元素、指令元素或动作元素。 2. **JSP转换过程**: 当服务器接收到JSP请求时,会将其转换为Servlet源代码,然后编译为...

    完整版Java web开发教程PPT课件 Java开发进阶教程 第17章 自定义orm框架(共11页).pptx

    通过这个完整的Java Web开发教程,开发者不仅能够学习到JavaScript、DOM操作、Servlet、JSP等基础知识,还能掌握如Spring、Spring MVC等高级框架的使用,以及自定义ORM框架的设计,从而具备构建复杂企业级Web应用的...

    jsp+Struts2 +mybatis 注册 登录 入门demo

    在`test`数据库中,`user`表存储了用户注册的数据,包括用户自定义的字段以及一个自增的`id`字段,作为主键。 5. **实体类(User类)**:在Java代码中,`User`类代表了`user`表中的一条记录。每个字段对应表中的一...

    jsp网页+饼图+sqlserver数据库

    在JSP中,可以借助JavaScript库如Highcharts、ECharts或D3.js来创建饼图。这些库提供了丰富的API和定制选项,可以轻松地将数据库中的数据转换为美观且直观的图形。在描述中提到的"饼图"可能就是用于展示从SQL Server...

    JAVA程序设计及JSP应用编写职工信息管理系统

    JSP的核心概念有JSP指令、脚本元素、JSP表达式和自定义标签等。在职工信息管理系统中,JSP用于展示用户界面,接收用户输入,处理请求,并将结果呈现给用户。 【数据库系统】 数据库系统是用于存储、管理和检索数据...

    JSP+MyBatis开发高仿QQ空间源代码

    此外,JSP还支持自定义标签库(Tag Libraries),这在创建复杂功能时提供了便利,比如在QQ空间的实现中可能会用到自定义标签来处理用户登录、发布动态等操作。 **MyBatis** MyBatis是一个轻量级的Java持久层框架,...

    Jbulider+JSP学生信息系统

    在JSP中,可以利用JSTL(JavaServer Pages Standard Tag Library)或自定义标签库实现分页逻辑,通过查询数据库获取每页的数据并渲染到页面上。 3. **数据管理**:系统应提供对学生的增删改查操作。JSP和Servlet...

    jsp+mysql 超精美的留言板

    例如,用户提交留言时,JSP页面会接收到表单数据,然后通过内置的Java脚本或自定义的JavaBean组件,将这些数据保存到MySQL数据库。同时,当用户浏览留言板时,JSP页面会从数据库中检索留言并显示在页面上。 MySQL是...

    JSP+JDBC留言管理程序(代码+笔记

    【JSP+JDBC留言管理程序】是一种基于Java Web技术的简单应用,它结合了JavaServer Pages(JSP)和Java Database Connectivity(JDBC)来实现对用户留言的数据存储和展示功能。在这个程序中,用户可以查看已有的留言...

Global site tag (gtag.js) - Google Analytics