预算编报管理系统 Day14 servlet setBaseAttribut messageContent模块 Hibernate自动生成Bean类

11 篇文章 0 订阅
3 篇文章 0 订阅

因为网站主题统一,所以,一个用户访问到的每一页都会有未读消息的提示,个人的用户名等信息,我将这些信息叫做基本信息

目前看来,基本信息有用户id用户名,和未读消息

而这些信息由用户id决定

因此编写setBaseAttribute 采用以下代码:

public static void setBaseAttributes(String userId ,HttpServletRequest request ){
		//request
		
		String userName;
		ArrayList<String> messageContentNotRead = new ArrayList<String>();
		ArrayList<String>messageDateNotRead = new ArrayList<String>();
		ArrayList<String>messageFromNotRead = new ArrayList<String>();
		ArrayList<String>messageIdNotRead = new ArrayList<String>();
		ArrayList<String>messageStateNotRead = new ArrayList<String>();
		DoSomething ds = new DoSomething();
		userName = ds.getUserByUserId(userId).getUser_name();
		
		Object[] objs = ds.selectMessageByUserId(userId) ;
		for(int i = 0;i<objs.length;i++){
			if(i==0)continue;
			
			@SuppressWarnings("unchecked")
			List<Message> msgs = (List<Message>) objs[i];
			if(msgs!=null)
			for(Message msg:msgs){
				if(msg.getState().equals(DoSomething.MESSAGE_STATE_HAVEREAD))continue;
				
				messageContentNotRead.add(msg.getContent());
				messageDateNotRead.add(msg.getDate());
				String messageFrom = "";
				String type = msg.getMsgtype();
				
				if(type.equals(DoSomething.MESSAGE_TYPE_ACADMY_TO_DEP)){
					messageFrom = msg.getAca_name();
				}else if(type.equals(DoSomething.MESSAGE_TYPE_DEP_TO_PERSON)){
					messageFrom = ds.getDepartmentByDepartmentId(msg.getDep_id()).getDep_name();
				}else if(type.equals(DoSomething.MESSAGE_TYPE_SCHOOL_TO_ACADMY)){
					messageFrom = msg.getSch_name();
				}
				messageFromNotRead.add(messageFrom);
				messageIdNotRead.add(msg.getMessage_id());
				//messageStateNotRead.add(msg.getState());
				
			}
			
		}
		
		request.setAttribute("userId", userId);
		request.setAttribute("userName", userName);
		request.setAttribute("messageContentNotRead",messageContentNotRead);
		
		System.out.println("MesageSize:"+messageContentNotRead.size());
		
		request.setAttribute("messageIdNotRead",messageIdNotRead);
		request.setAttribute("messageDateNotRead",messageDateNotRead);
		request.setAttribute("messageFromNotRead",messageFromNotRead);
		
		
	}

在写messageCoontent 模块的servlet 和jsp时,使用了以上setBaseAttribut 方法

servlet代码如下:

package Service.servlets;

import java.io.IOException;
import java.util.List;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import Bean.Message;
import Service.Logic.DoSomething;

/**
 * Servlet implementation class MessageContent
 */
@WebServlet(name = "messageContent", urlPatterns = { "/messageContent" })
public class MessageContent extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public MessageContent() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		//response.getWriter().append("Served at: ").append(request.getContextPath());
		process(request,response);
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}
	
	private void process(HttpServletRequest request , HttpServletResponse response) throws ServletException, IOException{
		response.setContentType("text/html;charset=UTF-8");
		
		String messageId = request.getParameter("messageid");
		String userId = request.getParameter("userid");
		
		String messageFrom = null ;
		String messageDate ;
		String messageContent;
		
		DoSomething ds = new DoSomething();
		
		Message message = ds.selectMessageById(messageId);
		
		ds.setMeeasgeReadState(messageId, DoSomething.MESSAGE_STATE_HAVEREAD);
		
		if(message.getMsgtype().equals(DoSomething.MESSAGE_TYPE_ACADMY_TO_DEP)){
			messageFrom = message.getAca_name();
		}
		else if(message.getMsgtype().equals(DoSomething.MESSAGE_TYPE_DEP_TO_PERSON)){
			messageFrom = ds.getDepartmentByDepartmentId(message.getDep_id()).getDep_name();
		}else if(message.getMsgtype().equals(DoSomething.MESSAGE_TYPE_SCHOOL_TO_ACADMY)){
			messageFrom = message.getSch_name();
		}
		messageContent = message.getContent();
		messageDate = message.getDate();
		
		request.setAttribute("messageContent", messageContent);
		request.setAttribute("messageId", messageId);
		request.setAttribute("messageFrom", messageFrom);
		request.setAttribute("messageDate", messageDate);
		
		HTMLWriter.setBaseAttributes(userId, request);
		RequestDispatcher rd = request.getRequestDispatcher("amz_4_baf/messageContent.jsp");
		System.out.println("go to jsp");
		rd.forward(request, response);
		
		
	}
	
	/*
	 * 
String messageId = (String)request.getAttribute("messageId");
String messageFrom = (String)request.getAttribute("messageFrom");
String messageDate = (String)request.getAttribute("messageDate");
String messageContent = (String)request.getAttribute("messageContent");


//bar
//未读消息
	String messages[] = (String[]) request.getAttribute("messages");
	String messageDates[] = (String[]) request.getAttribute("messageDates");
	String messagefroms[] = (String[]) request.getAttribute("messageFrom");
	int messageNum = 0;
	if(messages!=null)
	 messageNum = messages.length;
	 
	 //跟日内信息
	 String userId = (String)request.getAttribute("userId");
	 String userName =  (String)request.getAttribute("userName");
	 //权限
	 String power = (String) request.getAttribute("power");
	 */

}

jsp代码入下:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

String messageId = (String)request.getAttribute("messageId");
String messageFrom = (String)request.getAttribute("messageFrom");
String messageDate = (String)request.getAttribute("messageDate");
String messageContent = (String)request.getAttribute("messageContent");

/*
request.setAttribute("userId", userId);
		request.setAttribute("userName", userName);
		request.setAttribute("messageContentNotRead",messageContentNotRead);
		request.setAttribute("messageIdNotRead",messageIdNotRead);
		request.setAttribute("messageDateNotRead",messageDateNotRead);
		request.setAttribute("messageFromNotRead",messageFromNotRead);
		*/


//bar
//未读消息

	ArrayList<String> messages= (ArrayList<String>)request.getAttribute("messageContentNotRead");
	ArrayList<String> messageDates = (ArrayList<String>)request.getAttribute("messageDateNotRead");
	ArrayList<String> messagefroms =  (ArrayList<String>)request.getAttribute("messageFromNotRead");
	ArrayList<String> messageIds =  (ArrayList<String>)request.getAttribute("messageIdNotRead");
	int messageNum = 0;
	if(messages!=null)
	 messageNum = messages.size();
	 
	 //跟日内信息
	 String userId = (String)request.getAttribute("userId");
	 String userName =  (String)request.getAttribute("userName");
	 //权限
	 String power = (String) request.getAttribute("power");

%>
<!doctype html>
<html>

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>个人中心</title>
    <meta name="description" content="这是一个 index 页面">
    <meta name="keywords" content="index">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="renderer" content="webkit">
    <meta http-equiv="Cache-Control" content="no-siteapp" />
    <link rel="icon" type="image/png" href="assets/i/favicon.png">
    <link rel="apple-touch-icon-precomposed" href="assets/i/app-icon72x72@2x.png">
    <meta name="apple-mobile-web-app-title" content="Amaze UI" />
    <link rel="stylesheet" href="assets/css/amazeui.min.css" />
    <link rel="stylesheet" href="assets/css/admin.css">
    <link rel="stylesheet" href="assets/css/app.css">
</head>

<body data-type="generalComponents">


    <header class="am-topbar am-topbar-inverse admin-header">
        <div class="am-topbar-brand">
            <a href="javascript:;" class="tpl-logo">
                <img src="assets/img/logo.png" alt="">
            </a>
        </div>
        <div class="am-icon-list tpl-header-nav-hover-ico am-fl am-margin-right">

        </div>

        <button class="am-topbar-btn am-topbar-toggle am-btn am-btn-sm am-btn-success am-show-sm-only" data-am-collapse="{target: '#topbar-collapse'}"><span class="am-sr-only">导航切换</span> <span class="am-icon-bars"></span></button>

        <div class="am-collapse am-topbar-collapse" id="topbar-collapse">

           <ul
				class="am-nav am-nav-pills am-topbar-nav am-topbar-right admin-header-list tpl-header-list">
				<li class="am-dropdown" data-am-dropdown data-am-dropdown-toggle>
					<a class="am-dropdown-toggle tpl-header-list-link"
					href="javascript:;"> <span class="am-icon-comment-o"></span> 消息
						<span
						class="<%=messageNum>0?"am-badge tpl-badge-danger am-round":"" %>"><%=messageNum>0?""+messageNum:""%></span></span>
				</a>
					
					
					<ul class="am-dropdown-content tpl-dropdown-content">
						<li class="tpl-dropdown-content-external">
							<h3>
								你有 <span class="tpl-color-danger"><%=messageNum%></span> 条新消息
							</h3> <a href="#">全部</a>
						</li>
						<li>
							<!-- 消息列表 --> <%
 	for (int i = 0; i < messageNum; i++) {

 		String messgeListContent = "<a href=\"#\" class=\"tpl-dropdown-content-message\"> <span"
 				+ "class=\"tpl-dropdown-content-photo\"> <img" + "src=\"assets/img/user02.png\" alt=\"\">"
 				+ "</span> <span class=\"tpl-dropdown-content-subject\"> <span"
 				+ "class=\"tpl-dropdown-content-from\"> "+messagefroms.get(i)+" </span> <span"
 				+ "class=\"tpl-dropdown-content-time\">"+messageDates.get(i)+"</span>"
 				+ "</span> <span class=\"tpl-dropdown-content-font\">"+messages.get(i)+" </span>" + "</a>";
 		out.print(messgeListContent);

 	}
 %>

						</li>

					</ul>
					
					
					
				</li>
				<li class="am-hide-sm-only"><a href="javascript:;"
					id="admin-fullscreen" class="tpl-header-list-link"><span
						class="am-icon-arrows-alt"></span> <span class="admin-fullText">开启全屏</span></a></li>

				<li class="am-dropdown" data-am-dropdown data-am-dropdown-toggle>
					<a class="am-dropdown-toggle tpl-header-list-link"
					href="javascript:;"> <span class="tpl-header-list-user-nick"><%=userName %></span><span
						class="tpl-header-list-user-ico"> <img
							src="assets/img/user01.png"></span>
				</a>
					<ul class="am-dropdown-content">
						<li><a href="#"><span class="am-icon-bell-o"></span> 资料</a></li>
						<li><a href="#"><span class="am-icon-cog"></span> 设置</a></li>
						<li><a href="#"><span class="am-icon-power-off"></span>
								退出</a></li>
					</ul>
				</li>
				<li><a href="###" class="tpl-header-list-link"><span
						class="am-icon-sign-out tpl-header-list-ico-out-size"></span></a></li>
			
			
			</ul>
			
        </div>
    </header>


    <div class="tpl-page-container tpl-page-header-fixed">

        <div class="tpl-left-nav tpl-left-nav-hover">
            <div class="tpl-left-nav-title">
                Amaze UI 列表
            </div>
            <div class="tpl-left-nav-list">
                <ul class="tpl-left-nav-menu">
                    <li class="tpl-left-nav-item">
                        <a href="index.html" class="nav-link active">
                            <i class="am-icon-home"></i>
                            <span>首页</span>
                        </a>
                    </li>
                    <li class="tpl-left-nav-item">
                        <a href="chart.html" class="nav-link tpl-left-nav-link-list">
                            <i class="am-icon-bar-chart"></i>
                            <span>数据表</span>
                            <i class="tpl-left-nav-content tpl-badge-danger">
               12
             </i>
                        </a>
                    </li>

                    <li class="tpl-left-nav-item">
                        <!-- 打开状态 a 标签添加 active 即可   -->
                        <a href="javascript:;" class="nav-link tpl-left-nav-link-list active">
                            <i class="am-icon-table"></i>
                            <span>表格</span>
                            <!-- 列表打开状态的i标签添加 tpl-left-nav-more-ico-rotate 图表即90°旋转  -->
                            <i class="am-icon-angle-right tpl-left-nav-more-ico am-fr am-margin-right tpl-left-nav-more-ico-rotate"></i>
                        </a>
                        <ul class="tpl-left-nav-sub-menu" style="display:block">
                            <li>

                                <a href="设置单位定额.html">
                                    <i class="am-icon-angle-right"></i>
                                    <span>设置单位定额</span>
                                    <i class="am-icon-star tpl-left-nav-content-ico am-fr am-margin-right"></i>
                                </a>

                                <a href="table-images-list.html">
                                    <i class="am-icon-angle-right"></i>
                                    <span>图片表格</span>
                                    <i class="tpl-left-nav-content tpl-badge-success">
               18
             </i>
                                    <!-- 打开状态 a 标签添加 active 即可   -->
                                    <a href="个人中心.html" class="active">
                                        <i class="am-icon-angle-right"></i>
                                        <span>个人中心</span>
                                        <i class="tpl-left-nav-content tpl-badge-primary">
               5
             </i>


                                        <a href="form-news-list.html">
                                            <i class="am-icon-angle-right"></i>
                                            <span>文字列表</span>

                                        </a>
                            </li>
                        </ul>
                    </li>

                    <li class="tpl-left-nav-item">
                        <a href="javascript:;" class="nav-link tpl-left-nav-link-list">
                            <i class="am-icon-wpforms"></i>
                            <span>表单</span>
                            <i class="am-icon-angle-right tpl-left-nav-more-ico am-fr am-margin-right"></i>
                        </a>
                        <ul class="tpl-left-nav-sub-menu">
                            <li>
                                <a href="form-amazeui.html">
                                    <i class="am-icon-angle-right"></i>
                                    <span>Amaze UI 表单</span>
                                    <i class="am-icon-star tpl-left-nav-content-ico am-fr am-margin-right"></i>
                                </a>

                                <a href="form-line.html">
                                    <i class="am-icon-angle-right"></i>
                                    <span>线条表单</span>
                                </a>
                            </li>
                        </ul>
                    </li>

                    <li class="tpl-left-nav-item">
                        <a href="login.html" class="nav-link tpl-left-nav-link-list">
                            <i class="am-icon-key"></i>
                            <span>登录</span>

                        </a>
                    </li>
                </ul>
            </div>
        </div>




        <div class="tpl-content-wrapper">
            <div class="tpl-content-page-title">
                个人中心
            </div>
            <ol class="am-breadcrumb">
                <li><a href="index.html" class="am-icon-home">首页</a></li>
                 <li><a href="个人中心.html">个人中心</a></li>
                <li class="am-active">消息内容</li>
            </ol>
            <div class="tpl-portlet-components">
                <div class="portlet-title">
                    <div class="caption font-green bold">
                        <span class="am-icon-code"></span> 消息内容
                    </div>
                </div>
                <div class="tpl-block">
                  <div class="am-g">
                        <div class="am-u-sm-12 am-u-md-6">
                            <div class="am-btn-toolbar">
                                <div class="am-btn-group am-btn-group-xs">
                                  <button type="button" class="am-btn am-btn-default am-btn-secondary" onClick="location.href='个人中心.html'"><span class="am-icon-angle-double-left"></span> 返回</button>
                                    <button type="button" class="am-btn am-btn-default am-btn-danger"><span class="am-icon-trash-o"></span> 删除</button>
                                </div>
                            </div>
                        </div>
                        <div class="am-u-sm-12 am-u-md-3">
                            <div class="am-form-group"></div>
                        </div>
                        <div class="am-u-sm-12 am-u-md-3"></div>
                    <div class="am-u-sm-12 am-u-md-3">
                          <div class="am-form-group"></div>
                    </div>
                    <div class="am-u-sm-12 am-u-md-3">
                      <div class="am-input-group am-input-group-sm">发信人:<%=messageFrom %></div>
                      <p>发送时间:<%=messageDate %></p>
                        </div>
                  </div>

                  <ul class="tpl-task-list tpl-task-remind">
                    <div class="am-cf"> </div>
                                <div class="am-cf">

                                    <div class="am-fr"></div>
                                </div>
                      
                  </ul>
                  <div class="tpl-content-scope">
                    <div class="note note-info">
                      <!--  <h1 class="note-info">Amaze UI Icon 组件目前使用了 Font Awesome <span class="close" data-close="note"></span> </h1>-->
                      <p> <%=messageContent %></p>
                     
                    </div>
                  </div>
              </div>

            </div>


        </div>

    </div>


    <script src="assets/js/jquery.min.js"></script>
    <script src="assets/js/amazeui.min.js"></script>
    <script src="assets/js/app.js"></script>
</body>

</html>

二.hibernate 自动生成bean类

1.选择database browser 视图

2.选择一个连接并打开 要使用的数据库里面的table选项

对table中的每一个表,右击->hibernate reverse engenerring

在下图src folder 中添加src 路径 , 在package中添加要放的包名

按照下图进行勾选

点击finish 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值