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, "贊失敗"));
        }
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM