표준프레임워크 공통컴포넌트 게시판 이름 치환하기.(보안)
뭐 표프라고 보기도 힘들다.
공통컴포넌트 게시판에 김철수 라는 작성자명을 등록했다고 하자.
근데 보안상 이유로 김*수 라는 형태로 바꾸라는 요구사항이 있을 경우.
Controller(MVC2)나 DB 또는 자바스크립트 등 다양한 형태로 변경이 가능하지만,
제일 빠른 방법이 필요할 때 아래 방식을 사용하면 되겠다.
(나는 엄청 원론적인 방법을 생각했지만...내 사수의 코드가 기가 맥혔기 때문에 기록한다.)
반드시 선언 필요 태그라이브러리 없이 어케 c:를 쓸 것인지는 기본으로 제쳐두고
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> |
JSP 코드에 아래와 같이 들어가 있을 것이다.
<td><c:out value="${resultInfo.wrterNm}"/></td> |
resultInfo.wrterNm에 김철수라는 테이블 데이터를 출력된다.
하지만 아래와 같이 var 이름을 wrterNmLength 로잡아 c:choose를 사용해 조건을 만든다.
(조건을 만들지 않을 경우 발생되는 예외 상황은 알아서 추가하던가 가정을 하면 될듯)
fn:substrin 쪼개기 기능을 통해 나눈다.
<td> <c:set var="wrterNmLength" value="${fn:length(resultInfo.wrterNm)}"/> <c:choose> <c:when test="{fn:length(resultInfo.wrterNm) > 1}"> <c:out value='${fn:substring(결과정보.작성자명, 0, 1)}'/>*<c:out value='${fn:substring(결과정보.작성자명, 1+1, 작성자명길이)}'/> </c:when> <c:otherwise><c:out value="${결과정보.작성자명}"/></c:otherwise> </c:choose> </td> |
아래와 같이 구현 시
김*수 로
테이블 데이터가 출력되는지 확인이 가능하다.
'Language > JAVA' 카테고리의 다른 글
[JAVA] 전자정부프레임워크 - mysql 디비에서 COMTECOPSEQ update error (0) | 2018.02.09 |
---|