j2ee中打开首页同时查询数据库,并在首页动态显示数据

来源:互联网 发布:js 节点类型 编辑:程序博客网 时间:2024/05/12 05:57

一般我们在项目中都是通过点击来访问某一个action来实现数据的查询,并跳转到某视图来显示,但是在网站开发中,往往需要我们在默认的index.jsp中显示一些从数据库查询出来的数据。实现的方式有一些,我把自己实现的方式拿来给大家分享下!!


注意:只提供关键代码,次要代码已经省略。


一:默认首页indexTest2.jsp


在indexTest2.jsp中body标签内

<body>

<jsp:forward page="listUser.action"></jsp:forward><!--跳转到我们指定的action,在此action进行数据库的相关操作-->

</body>

在indexTest2.jsp的body内直接使用上面代码,其他的代码都不用写。

 

二:struts.xml的配置

   <action name="listUser" class="listUserAction"><!---我使用的是s2sh三大框架的整合,这个class="listUserAction"是spring为我们实例化好的,如果没有使用spring来接管,这个地方的就直接使用完整的action,比如:com.test.action.ListUserAction-->
        <result name="success">/list.jsp</result>
     </action>

三:ListUserAction中的execute()方法

 @SuppressWarnings("unchecked")
 @Override
    public String execute()throws Exception
    {
     Map request=(Map)ActionContext.getContext().get("request");
     
     request.put("list", userService.findAll());
     
     return SUCCESS;
    }

 

 

四:web.xml的配置


  <welcome-file-list>

   <!-- 打开首页查询数据库,并显示在页面 -->

    <welcome-file>indexTest2.jsp</welcome-file> <!--把indexTest2.jsp作为默认的欢迎页面-->

    

    <!--    <welcome-file>index.jsp</welcome-file>  -->

  </welcome-file-list>



  <!-- 配置struts2.0 web的过滤器 -->

  <filter>

        <filter-name>struts2</filter-name>

        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>

        <!-- 下面是struts2.0以后版本的配置 -->

     <!--  <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>   --> 

    </filter>

    <filter-mapping>

        <filter-name>struts2</filter-name>

        <url-pattern>/*</url-pattern>

         

         <!--这两行代码非常关键-->

          <dispatcher>REQUEST</dispatcher>

          <dispatcher>FORWARD</dispatcher>   

   </filter-mapping>

 

五:视图页面list.jsp核心代码

 

 <body>
     <h1><font color="red"><center>Users List</center></font></h1>
  
     <table border="1" width="80%" align="center">
       
       <tr>
         <td>序号</td>
         <td>姓</td>
         <td>名</td>
         <td>年龄</td>
         <td>删除</td>
         <td>更新</td>
       </tr>
       
       <s:iterator value="#request.list" id="us">
         <tr>
           <td><s:property value="#us.id"/></td>
           <td><s:property value="#us.firstname"/></td>
           <td><s:property value="#us.lastname"/></td>
           <td><s:property value="#us.age"/></td>
           <td><s:a href="deleteUser.action?user.id=%{#us.id}">delete</s:a></td>
           <td><s:a href="updatePUser.action?user.id=%{#us.id}">update</s:a></td>
         </tr>
       </s:iterator>
       
     </table>
  
  </body>



六:访问网站

http://localhost/mytest/

说明:我的项目端口被我改成80了,所以省略了端口号;默认端口号是8080在访问的时候是不可以省略的。


0 0