zoukankan      html  css  js  c++  java
  • html的显示消息和留言板

        <div class="inner_content">
        <c:forEach items="${notices}" var="n">
            <c:choose>
                <c:when test="${n.suffix=='.avi' || n.suffix=='.mp4'}">
                      <p class="inner_video">
                        <video src="${n.imageUrl }" width="500" height="375" controls>
                            Your browser dosen't support the video tag.
                        </video>
                        </p> 
                     <p style="font-size:10px; line-height:24px;">
                        ${n.text }
                     </p>
                </c:when>
                <c:when test="${n.suffix!='.avi' && n.suffix!='.mp4'}">
                     <p class="inner_image">
                       <img src="${n.imageUrl }" width="100%">
                     </p>
                     <p style="font-size:14px; line-height:24px; text-indent:2em;">
                        ${n.text }
                     </p>
                </c:when>
            </c:choose>
        </c:forEach>
            </div>

    留言板:

     <div class="comment_title">
            <h4>
                评论(
                <c:if test="${empty plNum}">0</c:if>
                <c:if test="${!empty plNum}">${plNum}</c:if>
                条)
            </h4>
        </div>
      <div class="comment_main">
            <div id="PLmain">
            <c:forEach items="${msgList.list}" var="m">
             
                <dl id="pl_${m.id}">
                    <dt>
                        <img src="/pages/foreground/images/user_image.jpg">
                    </dt>
                    <dd>
                        <p>
                            <span class="c_name">${m.uid.uname }</span>
                            <span class="c_time">
                              ${m.time } 
                            </span>
                           <!--  <span class="c_jb"><a href="#">举报</a></span> -->
                        </p>
                        <p class="comment_user">
                            ${m.leave }
                        </p>
                        <p class="comment_share">
                            <a   href="javascript:void(0);" title="${m.id }" onclick="a_huifu(this);">回复</a>
                            <a   href="javascript:void(0);" title="${m.id }" onclick="a_zan(this);">赞(<label id="labzan_${m.id }">${m.zan }</label></a>
                        </p>
                        <div id="saydiv${m.id}" class="c_say" style="display:none;">
                          <textarea id="text${m.id }" placeholder="请输入回复..."></textarea>
                          <c:if test="${empty loginUser}">
                            <p class="c_text">
                                注册成为会员后方可回复
                                <a class="c_rigister" href="/user/register/user_register!userRegister.ds">注册</a>
                                <span class="c_line">|</span>
                                <a class="c_login" href="#login">登录</a>
                            </p>
                            </c:if>
                            
                            <c:if test="${!empty loginUser}">
                                 <input id="btn_${m.id}" title="${m.websiteMessage.id}" type="button" value="回复" myId="${m.id }" onclick="huifu(this);" />
                            </c:if>
                        </div>
                        //重点。。。留言的读取
                    <c:forEach items="${map}" var="h"> //map 集合
                        <c:forEach items="${h.key}" var="va"> //判断键值
                            <c:if test="${va eq m.id}"> //判断键值和id号是否相等
                                <c:forEach items="${h.value}" var="hvalue"> //相等取值
                                
                                <div class="c_reply" id="re_${hvalue.id }">
                                <dl>
                                        <dt>
                                            <img src="/pages/foreground/images/user_image.jpg">
                                        </dt>
                                        <dd>
                                            <p>
                                                <span class="c_name">${hvalue.uid.uname }</span>
                                                <span class="c_time">
                                                  ${hvalue.time }
                                                </span>
                                               <!--  <span class="c_jb"><a href="#">举报</a></span> -->
                                            </p>
                                            <p class="comment_user">
                                                ${hvalue.leave }
                                            </p>
                                        </dd> 
                                        </dl>
                                        </div>
                                </c:forEach>
                            </c:if>
                        </c:forEach>
                    </c:forEach>
                        
                    </dd>
           
                </dl>
            </c:forEach>
             
                
            </div>
            <c:if test="${!empty msgList.list}">
            <div class="page_num">
                <ul>
                 
                <c:if test="${msgList.pageCount > 1 && msgList.pageNumber != msgList.pageCount}">
                                 <a href="/user/site_message!cgIndex.ds?type=${type}&id=${id}&msgnum=1">首页</a><a href="/user/site_message!cgIndex.ds?type=${type}&id=${id}&msgnum=${msgList.pageNumber-1}">上一页</a><a href="/user/site_message!cgIndex.ds?type=${type}&id=${id}&msgnum=${msgList.pageNumber+1}">下一页</a><a href="/user/site_message!cgIndex.ds?type=${type}&id=${id}&msgnum=${msgList.pageCount}">末页</a>
                               </c:if>
                               <c:if test="${msgList.pageNumber eq msgList.pageCount}">
                                     <a href="/user/site_message!cgIndex.ds?type=${type}&id=${id}&msgnum=1">首页</a><a href="/user/site_message!cgIndex.ds?type=${type}&id=${id}&msgnum=${webMessages.pageNumber-1}">上一页</a>
                    </c:if>
                     第${msgList.pageNumber }页,共${msgList.pageCount }页
                 
                </ul>
            </div>
            </c:if>
        </div>
        
      <div class="reply_input">
                            <textarea id="leaveText" placeholder="请控制提问字数在300字以内..."></textarea>
                            <c:if test="${empty loginUser}">
                            <p class="c_text">
                                注册成为会员后方可回复
                                <a class="c_rigister" href="#">注册</a>
                                <span class="c_line">|</span>
                                <a class="c_login" href="#">登录</a>
                            </p>
                           </c:if>    
                            <c:if test="${!empty loginUser}">
                                 <input class="reply_confirm"  type="button" value="确定" onclick="pl();" style="overflow: hidden;  " />
                            </c:if> 
        
        </div>
    </DIV>
    <script type="text/javascript"> 
            //获取当地时间
            var date=new Date();
            var y=date.getFullYear();
            var m=(date.getMonth()+1);
            var d=date.getDate();
            var h=date.getHours();
            var mm=date.getMinutes();
            var s=date.getSeconds();
            var ss=date.getMilliseconds();
            var da=y+'-'+m+'-'+d+' '+h+':'+mm+':'+s+'.'+ss;    
         var arrContent={};//存类容,
         var islogin="${loginUser}1";//是否登陆  1 是登陆,否则没有登陆
         //回复按钮,显示输入框
        function a_huifu(a){
            if(arrContent["textId"]){
                var cf=confirm('是否离开?');
                if(cf==false){
                    return ;
                }
                $(arrContent['textId']).val('');
                $(arrContent['textId']).attr({style:"display:none;"});
            }
             
            var lybmsgId=$(a).attr('title');//留言板
            var contentId='#saydiv'+lybmsgId;
            var contentState=$(contentId).attr('style');
            var text="#text"+lybmsgId;//输入的内容的ID
             
            if(contentState=='display:none;'){
             $(contentId).attr({style:"display:block;"});
            }
            else if(contentState=='display:block;'){
                if(islogin!='1'&&$(text).html().length>0){
                    arrContent['textId']=text;
                    var cf=confirm('是否离开?');
                    if(cf==true){
                        //表示,已经登陆了,离开
                        $(text).val('');//清空留言
                        $(contentId).attr({style:"display:none;"});
                    }
                }else{
                    $(text).val('');//清空留言
                    $(contentId).attr({style:"display:none;"});
                }
            } 
        }
        //确定回复
        function huifu(btn){ 
            var btnId=$(btn).attr('id');
            var parentId=btnId.substring(4,btnId.length);
            var msgId=$(btn).attr('title');
            var leave=$('#text'+parentId).val();
            $.post('/user/site_message!saveReplay.ds',
              {"parentId":parentId,"type":2,"msgId":msgId,"leave":leave}
            ,function(data){
                alert(data.message);
                if(data.success){
                    var text="#text"+parentId;//输入的内容的ID
                    var contentId='#saydiv'+parentId;
                    $(text).val('');//清空留言
                    $(contentId).attr({style:"display:none;"});
                    addHtml(btn,leave);
                }
            });
        }
        //回复成功后添加html留言
        function addHtml(a,leave){
                var html="<div class='c_reply' id='re_${hvalue.id }'><dl><dt><img src='/pages/foreground/images/user_image.jpg'></dt>";
                    html+="<dd><p><span class='c_name'>${hvalue.uid.uname }${loginUser.uname}</span><span class='c_time'>${hvalue.time }"+da+"</span></p>";
                    html+=" <p class='comment_user'>${hvalue.leave }"+leave+"</p></dd></dl><div>";
            $(a).parent().parent().append(html);                            
        }
         //
        function a_zan(a){
            var zanId=$(a).attr('title');
            var zanBtnId='#labzan_'+zanId;
            var  count =$(zanBtnId).html();
            $.post('/user/site_message!zan.ds',{"id":zanId},function(data){
                if(data.success){
                    $(zanBtnId).html(parseInt(count)+1);
                }
            });
        }
        //最下面的评论
        function pl(){
            var leave=$('#leaveText').val().trim();
            if(leave.length==0){
                alert('请输入文字');
                return ;
            } 
            if(leave.length>300){
                alert('不能大于300字');
                return;
            }
            var plId="${websiteMessage.id}";
             
            $.post('/user/site_message!savePL.ds',
              {"msgId":plId,"leave":leave}
            ,function(data){
                alert(data.message);
                 if(data.success){
                    var id=data.savePlId;
                    var html="<dl  ><dt><img src='/pages/foreground/images/user_image.jpg'></dt><dd><p><span class='c_name'>${loginUser.uname}</span>";
                    html+="<span class='c_time'> "+da+"</span></p>";
                    html+="<p class='comment_user'>"+leave+"  </p>";
                    html+="<p class='comment_share'><a onclick='a_huifu(this);' title='"+id+"' href='javascript:void(0);'>回复</a>";
                    html+="<a onclick='a_zan(this);' title='"+id+"' href='javascript:void(0);'>赞(<label id='labzan_"+id+"'>0</label>)";
                    html+="</a></p><div id='saydiv"+id+"' class='c_say' style='display:none;'><textarea id='text"+id+"' placeholder='请输入回复...'></textarea>";
                    html+="<input id='btn_"+id+"' type='button' onclick='huifu(this);' myid='"+id+"' value='回复' title='"+plId+"'></div></dd></dl>";
                    $('#PLmain').append(html);
                    $('#leaveText').val('');
                }
            });
        }
    </script>
    
        @Resource
        private MessageBordService messageBordService;
        @Resource
        private WebsiteMessageService websiteMessageService;
        private int pagenum=1;//页数
        private int msgnum=1;//留言页数
        private Long msgId;//公告的Id
        private Long parentId;//回复留言的Id
        private Integer type;//1: 留言 (评论)2:回复
        private String leave;//留言(评论)//回复
        
        
        
        private MessageBord msg=null;
        @UnLogin
        public String index(){
            List<WebsiteMessage> webMessages = websiteMessageService.listLateWebMessage(CommonVar.WEBSITEMESSAGE,type);
            setAttribute("webMessages", webMessages);
            WebsiteMessage websiteMessage = websiteMessageService.get(id);
            setAttribute("websiteMessage", websiteMessage);
            setAttribute("type", type);
            return "index";
        }
            /*if(value==1)
            return '媒体报道';
            if(value==2)
            return '网站公告';
            if(value==3)
            return '成功案例';
            if(value==4)
            return '站内信息';*/
        @UnLogin
        public String cgIndex(){
            Pager pager=new Pager();
            pager.setPageNumber(pagenum);
            pager.setPageSize(8);
            DetachedCriteria de=DetachedCriteria.forClass(WebsiteMessage.class);
            de.add(Restrictions.eq("isDelete", 0));
            de.add(Restrictions.eq("mtype", type));
            Pager list = websiteMessageService.findByPager(pager, de);
            setAttribute("webMessages", list);
            if(null!=id){
                WebsiteMessage websiteMessage = websiteMessageService.get(id);
                setAttribute("websiteMessage", websiteMessage);
                Set<SystemNoticeWeb> systemNoticeWebs = websiteMessage.getSystemNoticeWebs();
                setAttribute("notices", systemNoticeWebs);
            }
            setAttribute("type", type);
            setAttribute("pagenum", pagenum);
            //获取5留言(评论)
            if(null!=id){
                Pager msgPager=new Pager();
                msgPager.setPageNumber(msgnum);
                msgPager.setPageSize(4);//每页四条数据
                DetachedCriteria msgde=DetachedCriteria.forClass(MessageBord.class);
                msgde.add(Restrictions.eq("websiteMessage",websiteMessageService.get(id)));
                msgde.add(Restrictions.eq("type", 1));
                msgde.add(Restrictions.isNull("parentId"));
                Pager msgList = messageBordService.findByPager(msgPager, msgde);
                List<MessageBord> mbs = msgList.getList();
                if(mbs!=null&&mbs.size()>=1){
                    setAttribute("id", id);
                    setAttribute("msgList", msgList);//用于取页数
                    setAttribute("plNum", mbs.size());//评论条数
                    getReplay(mbs,id);
                }
                Long totalNumber = websiteMessageService.getTotalNumber(Long.valueOf(id));
                setAttribute("plNum", totalNumber);
            }
            return "index";
        }
        //所有的回复
        private void getReplay(List<MessageBord> mbs,Long msgId){
            //取出每条评论的回复存入集合
            Map<String,List<MessageBord>>map=new HashMap<String,List<MessageBord>>();
            for (MessageBord messageBord : mbs) {
                //获取每条评论
                DetachedCriteria hude=DetachedCriteria.forClass(MessageBord.class);
                hude.add(Restrictions.eq("websiteMessage", websiteMessageService.get(id)));
                hude.add(Restrictions.eq("type", 2));
                hude.add(Restrictions.eq("parentId", messageBord.getId()));
                List<MessageBord> pls = messageBordService.getL(hude, -1);
                String key=messageBord.getId().toString();
                map.put(key, pls);
                setAttribute("map", map);
            }
        }
         //保存回复
        public void saveReplay(){
            try{
                msg=new MessageBord();
                LoanUser user=(LoanUser) getSession("loginUser");
                 msg.setLeave(this.leave);
                 msg.setParentId(this.parentId);
                 msg.setType(this.type);
                 msg.setUid(user);
                 msg.setTime(new Date());
                 msg.setZan(0);
                 msg.setWebsiteMessage(new WebsiteMessage(msgId));
                 messageBordService.save(msg);
                 super.ajaxJson(DbRecord.jsonShowInfo(true, "留言成功"));
            }catch (Exception e) {
                super.ajaxJson(DbRecord.jsonShowInfo(false, "留言失败"));
            }
        }
        //保存评论
        public void savePL(){
            if(this.leave.length()>300){
                super.ajaxJson(DbRecord.jsonShowInfo(false, "不能大于300字"));
                return;
            }
            JSONObject json=new JSONObject();
            try{
                LoanUser user=(LoanUser) getSession("loginUser");
                msg=new MessageBord();
                msg.setLeave(this.leave);
                msg.setTime(new Date());
                msg.setType(1);
                msg.setUid(user);
                msg.setWebsiteMessage(new WebsiteMessage(msgId));
                msg.setZan(0);
                Long save = messageBordService.save(msg);
                json.put("success", true);
                json.put("message", "评论成功");
                json.put("savePlId", save);
                 super.ajaxJson(json.toString());
            }catch (Exception e) {
                super.ajaxJson(DbRecord.jsonShowInfo(false, "评论失败"));
            } 
        }
        //
        public void zan(){
            try{
                if(null!=id){
                    MessageBord messageBord = messageBordService.get(id);
                    messageBord.setZan((messageBord.getZan()+1));
                    messageBordService.update(messageBord);
                    super.ajaxJson(DbRecord.jsonShowInfo(true, "赞成功"));
                }
            }catch (Exception e) {
                super.ajaxJson(DbRecord.jsonShowInfo(false, "赞失败"));
            }
        }
  • 相关阅读:
    锤炼自己,即便是铁,也要是铁中的佼佼者。
    数据库简单学习
    英雄总结
    强化肖龙
    神兽世界
    魔豆魔豆
    硬链接和软连接的区别
    深拷贝和浅拷贝的区别
    C++程序员(终身学习)
    矫健《圣徒》读后感
  • 原文地址:https://www.cnblogs.com/loveweiwei/p/4175432.html
Copyright © 2011-2022 走看看