개발잘하고싶f
10
2020-09-18 15:33:36
9
218

[jstl] Spring에서 게시판 수정 권한


안녕하세요 ... 

게시판 수정 권한을 만들고 있는데

JSTL 로

<c:choose>

  <c:when test="${rptInfo.VC_INITIAL_USERID eq reqVO.S_USERID}">

  ..... @수정버튼 코딩@...

  </c:when>

</c:choose>


이런식으로 만들어 주었습니다. 

rptInfo.VC_INITIAL_USERID : DB에 저장된 게시판 작성자 

reqVO.S_USERID : 로그인된 아이디 

여기서 해당 부서테이블의 사용자들도 추가적으로 수정권한을 주려고 합니다. 

부서사람들은 제가 짠 코딩과 다르게 List로 받아, 하나씩하나씩 로그인된 아이디(reqVO.S_USERID)와 비교해봐야할것같은데, 어떻게 해야하는지 모르겠습니다 ㅠㅠ 


고수님들 도와주세요 ..!!! 

0
  • 답변 9

  • 그저그런개발자
    37
    2020-09-18 15:37:47

    비교 조건을 작성자의 부서와 로그인된 사람의 부서로 바꾸면 되지 않을까요??

  • 개발잘하고싶f
    10
    2020-09-18 15:45:15

    제가 생각했던 건 , 

    <c:choose>

    <c:forEach itesm="${memberList}" var="vo" varStatus="status">

       <c:when test="${rptInfo.VC_INITIAL_USERID eq reqVO.S_USERID

            or vo.멤버아이디  eq  reqVO.S_USERID">

      ..... @수정버튼 코딩@...

      </c:when>

    <c:forEach> 

    </c:choose>


    이렇게 생각해보았는데, Illegal child tah error 라고 뜹니다 .ㅠㅠ 

  • 그저그런개발자
    37
    2020-09-18 15:53:15

    <c:forEach> 태그 위치문제인거같네요..


  • web.
    675
    2020-09-18 15:53:27

    <c:choose>

        <c:when>

              //코드작성

        </c:when>

        <c:otherwise>

              //코드작성

        </c:otherwise>

    </c:choose>

    문법맞춰서 코드 작성해보세요

  • 개발잘하고싶f
    10
    2020-09-18 15:58:21

    <c:choose>

      <c:when>

      </c:when>

    </c:choose>

    의 문법은 맞췄습니다만 , 중간에 <c:forEach> 태그가 있는것이 문제인것같습니다. 

    c:forEach는 리스트이기 떄문에 반드시 써야하는데 쓰려면 어디에 쓰는게 맞는건가요 ??! 

  • 개발잘하고싶f
    10
    2020-09-18 15:59:17
    아니면 조건문에 c:forEach 가 안되기 떄문에 위에 처리할 수 있는 방법이 있을까요 ? 
  • 그저그런개발자
    37
    2020-09-18 16:08:19

    꼭 loop로 하나하나 비교해야하는 구조인가요??

    loop를 사용하셔야한다하면

    <c:forEach>

    <c:if></c:if>

    </c:forEach>

    이런식으로도 가능해보이니 참고하시면 될거같습니다.

    * 제가 봤을때는 loop보단 위에서 말씀드렸던거처럼 하는 방법이 좋아보입니다..

    list 데이터가 1000건이면 1000번의 loop를 항상 돌면서 체크해야한다는건데.. 좋은 방식인지는 모르겠습니다.

  • 개발잘하고싶f
    10
    2020-09-18 16:13:33

    부서 멤버

    A , B , C , D , E 

    이기 떄문에 loop를 돌려서 로그인된 아이디와 하나씩 비교해야 되지 않을까요 ??

    위에서 말한 방법으로 출력을 해봐도 나오지 않아서요 !

  • htofu
    24
    2020-09-18 17:44:51

    개발 스타일이 다르겠지만,


    게시글 조회쿼리에 서브쿼리로 등록자의 부서를 같이 조회해서

    <c:choose>

      <c:when test="${rptInfo.VC_INITIAL_USERID eq reqVO.S_USERID || rptInfo.부서 eq reqVO.부서 }">

      ..... @수정버튼 코딩@...

      </c:when>

    </c:choose>

    이렇게 처리할거 같네요.

     





      


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