java_Webフォーラムプロジェクト4


java_Webフォーラムプロジェクト4(コメントポイント賛の機能実現)
この2つの機能の実現には1日の事件がかかったでしょう.私の難点を共有しましょう.まず、コメント機能のコメントはあなたがクリックして自分の話を発表してデータに追加することができますが、私のフロントエンドページのコメントと返信は同じモードボックスを使用しています.だから、コメントと返信の違いは、返信された人のidがあるかどうかです.どのように返信された人のidを手に入れますか私はjquery制御のジャンプを使って直接情報をリンクの中につなぎました
//                
		if(${user.userId==null}){
			window.location.href="LoginServlet?act=useLogin";
		}else{
			//                      :${userName}
			if(${userId1!=null }){
				var userName = "${userName1}";
				$("#title").val("  :"+userName);
				$("#openReply1").trigger("click");//     
			}	
			
			//                     
			$("#openReply").click(function(){
				$("#title").val("  ");
			})
			
			//                  
			$("#button").click(function(){
				var val = document.getElementById("val").value; 
				var title = document.getElementById("title").value;
				
				//        id 
				if(title=="  "){
					window.location.href="campusInform?val="+val+"&act=addReply&userId="+${user.userId}+"&cId="+${cId};
				}else{
					
					//                          ${userId1}==null    url     jquery       
					var userId1 = "${userId1}";
					if(${userId1== null}){
						userId1 = -1;
					}
					
					window.location.href="campusInform?val="+val+"&act=addReply&userId="+${user.userId}+"&cId="+${cId}+"&userId1="+userId1;
				}
			})
		}

これらは返信された人からid情報への操作にすぎませんが、どのようにして返信された人のidを手に入れますか?私は最终的に选択して、返事をクリックした后に先にservletにジャンプさせてそれから処理するのは被返事人idに着いて、要求が帰ってきて、直接要求が帰ってきて、モードボックスを开いて、そして被返事人のidを返してもしidが評論でなければ、idがあればリンクの中にidをつなぎ合わせて、过去を求めて、バックグラウンドはidがあるかどうかによって平論かそれとも返事かを区别します
HttpSession session = request.getSession();
		String cId = request.getParameter("cId");
		String userId = "0";
		User user = (User) session.getAttribute("user");
		if(user!=null){
			userId = user.getUserId();
		}
		
		
		CInfoServiceImp csi = new CInfoServiceImp();
		List cReplyList = csi.searchReply(cId);//       
		List pictureList = csi.getPicturePath();//         
		CInfo singleCInfo = csi.singleSearch(cId,userId);//    
		
		//             userId name             jquery            userId name
		String userId1 = request.getParameter("userId1");
		String userName1 = request.getParameter("userName1");
		if(userId1!=null){
			request.setAttribute("userId1", userId1);
			request.setAttribute("userName1", userName1);
		}
		
		request.setAttribute("pictureList", pictureList);
		request.setAttribute("cId", cId);
		request.setAttribute("cReplyList", cReplyList);
		request.setAttribute("cInfo", singleCInfo);
		request.getRequestDispatcher("campusReply.jsp").forward(request, response);

残りはデータベースを挿入する操作で、返信を表示すればデータベースを照会すればいいのです
いいねajaxで書いた下にajaxコードを置いて
//         
	    function prise(c){
			
	    	var articleId = c.firstElementChild.value;
			var userId = "${user.userId}";
			
			if(${user.userName!=null}){
				$.ajax({
					url:"campusInform?act=clickPrise",//    
					data:{"articleId":articleId,"userId":userId}, //       {username: 'name', password: '123456'}
					type:"post",//     
					dataType:"json",//        text html xml json
					//    
					success:function(result){
						
						if(result==1){
							//  class="btn btn-default btn-sm"  class="btn btn-info btn-sm"
							$(c).removeClass("btn btn-default btn-sm").addClass('btn btn-info btn-sm');
							//          
							var priseConetext = c.innerText;
							var priseCount = parseInt(priseConetext.substring(2));
							var val = priseCount+1;
							$(c).html("  "+val);
						}else{
							$(c).removeClass("btn btn-info btn-sm").addClass('btn btn-default btn-sm');
							//          
							var priseConetext = c.innerText;
							var priseCount = parseInt(priseConetext.substring(2));
							var val = priseCount-1;
							$(c).html("  "+val);
						}
					},
					error:function(){
						alert("    ,    ")
					}
					
				})
			}else{
				window.location.href="LoginServlet?act=useLogin";
			}
	   }

バックグラウンドは、いくつかのデータベースが結合されているか、増加しているか、削除しているかです.