javanono
496
2020-09-23 16:26:34
10
212

이 경우에 sessionScope 가 사용이 가능한가요??



public class UserVO {
	private Integer id;
	private String email;
	private String username;
	private String password2;
	private Integer roleId;
	private String thumnail;
	private Date createdDate;
	private Date modifiedDate;
	private Integer point;


public class BoardVO {
	private Integer articleId;
	private Integer categoryId;
	private Integer authorId;
	private Date 	createdDate;
	private Date 	updatedDate;
	private Date 	deletedDate;
	private String 	title;
	private String 	content;
	private Boolean hidden;
	private Integer hitCnt;
	private Integer likeCnt;
	private Integer dislikeCnt;
	private Integer replyCnt;
	private String 	ipaddress;
// 이 아래 두개는 db에 안들어갑니다.
	private String 	categoryName;
	private String 	authorName;

유저 vo랑

게시판 vo 입니다..

글삭제같은거는 유저가 특정되어야 할 수 있잖아요?

지금아래 코드처럼 그냥 로그인만되어있으면 전부삭제가되는데.

누구를 특정하려고 보던중에 겹치는 부분이 없어서요 vo끼리..

<c:if test="${sessionScope.userId != null}">

id면 아이디 이름이면 이름으로 특정해서 그사람만 삭제하기를 보이게 하고싶은데..

그걸못하고있네요.. 혹시 방법이 있을까요??


0
  • 답변 10

  • javanono
    496
    2020-09-23 16:27:19


    <select id="list" resultType="NoticeVO" parameterType="hashmap">
    		SELECT	
    			articleId,
    			bbsId,
    			authorId,
    			(	SELECT 
    					username
    				FROM 
    					tbl_user t2
    				WHERE
    					t2.id = t1.authorId) authorName,
    			createdDate,
    			updatedDate,
    			title,
    			hitCnt,
    			likeCnt,
    			dislikeCnt,
    			replyCnt,
    			ipaddress
    		FROM	
    			notice t1
    		WHERE
    			t1.hidden = 0
    		ORDER BY 
    			articleId DESC
    		LIMIT 
    			${offset}, ${count}
    	</select>

    이거는 xml 파일인데... 여기서는 어떻게 조인한거같은데 혹시나 보시는데 도움되실까봐 첨부합니다..ㅜㅜ 어렵네요..

  • web.
    684
    2020-09-23 16:32:06
    <c:if test="${sessionScope.userId eq BoardVO.articleId}">

    답 나온거같은데요;; 

    뭐때문에 고민하시는지 


  • javanono
    496
    2020-09-23 16:35:16 작성 2020-09-23 16:40:17 수정됨

    web. 매퍼다시보았는데

    <update id="delete" parameterType="Integer">
            UPDATE repair
            SET
                deletedDate = NOW(),
                hidden = 1
            WHERE
                articleId = #{vid}
        </update>

    저게 삭제를가장한 업데이트 하려고 하는건데.. 쿼리문이 틀렸을까요?

    써주신문구는 이미 해보았는데 안되더라구요..

  • web.
    684
    2020-09-23 16:46:16

    삭제버튼을 로그인한 유저한테만 보이게 한다는거 아닌가요??


    질문을 제가 잘 이해를 못한거 같은데 하고자하시는게 어떤건지 다시 한번만 설명해주세요 ㅎㅎ.

  • javanono
    496
    2020-09-23 16:49:54

    web. 아닙니다..ㅜㅜ 감사해요 도와주려하셔서.


    삭제버튼을 로그인한 유저에게만 보이게하는게맞아요! 좀더 정확히는

    다른사람 게시글의 삭제버튼은 내글이 아니니까 안보이게하고

    내 게시글에는 보이게하려구요.!..

  • web.
    684
    2020-09-23 16:52:25
    <update id="delete" parameterType="Integer">
            UPDATE repair
            SET
                deletedDate = NOW(),
                hidden = 1
            WHERE
                articleId = #{vid}
        </update>

    이쿼리는 그럼 왜나온건가요.. 


    "삭제버튼을 로그인한 유저에게만 보이게하는게맞아요! 좀더 정확히는

    다른사람 게시글의 삭제버튼은 내글이 아니니까 안보이게하고

    내 게시글에는 보이게하려구요.!.." 이거는 위방법대로 하면 될듯합니다.


    <c:if test="${sessionScope.userId != null}">

    기존에 이걸 사용중이었으니 "authorId" < 얘랑 맞는지 비교만 해주면되요.


  • javanono
    496
    2020-09-23 16:55:48

    web. 네 맞아요..ㅜㅜ 그친구랑 비교를 해야하는데 공통된 vo의 내용도없고..


    세션스코프가 authorId라는 친구를 알수가없는상황인거같아서요..

  • web.
    684
    2020-09-23 16:59:35

    게시판 삭제버튼이 어디있나요?

    게시판 목록에 삭제버튼이 있는거면 List<BoardVO> 안에 있을거고

    상세보기에 삭제버튼이 있는거면 BoardVO 안에 담겨있을텐데요..

  • javanono
    496
    2020-09-23 17:03:50 작성 2020-09-23 17:58:11 수정됨

    web. 읽는페이지에있어요... 목록에서 누르면 들어가지는 읽기페이지 안에요..

    private Boolean hidden; 이걸로 숫자만 0 1 바꿔서 안보이게하는겁니다 게시판에서는..


  • javanono
    496
    2020-09-24 10:30:12

    해결됐습니다!. 


    방법 : xml 특정문구에 콤마가 하나 빠져있었음..ㅜㅜ

  • 로그인을 하시면 답변 을 등록할 수 있습니다.