JSTL IF, ELSE IF(choose)문 사용 방법.



HTML 페이지를 만들때 굉장히 유용하게 사용하는 JSTL 중에서도 가장 많이 쓰는


IF문의 사용에 대해서 알아보자


1. 단순 IF


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<c:set var="data" value="안녕" />
 
<c:if test="${data eq '안녕'}">
    안녕을 출력 합니다.
</c:if>
 
<!-- 서버에서 result 라는 데이터를 modell을
     통해서 받아 사용하는 경우 (EL 태그 사용) -->
 
<c:if test="${result.data eq '안녕' }">
    안녕을 출력 합니다.
</c:if>
 
<!-- 서버에서 두개의 데이터
    result1과 result2 를 받아서 비교 할때(EL 태그 사용) -->
 
<c:if test="${result1.data eq result2.data}">
    두개의 데이터가 일치 합니다.
</c:if>
cs



위와 같이 사용 할 수 있다.


2. if else , choose문


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<c:set var="data" value="개발자" />
 
<c:choose>
 
    <c:when test="${name eq '개발자'}">
        개발자 입니다.
    </c:when>
 
    <c:when test="${name eq '사장'}">
        개발자가 아닌 사장 입니다.
    </c:when>
 
    <c:otherwise>
        아무것도 아닌 사람 입니다.
    </c:otherwise>
 
</c:choose>
cs
d

if else라는 표현을 사용 하는것이 아닌


choose 라는 문법을 사용한다.




3. 비교 연산자


1) eq (==)


두 값이 동일 할때


2) ne ( !=)


동일 하지 않을때


3. empty ( == null)

값이 null 일때


제 포스팅이 도움이 되었나요? 

그렇다면 공감하기 한번 눌러주세요 블로거에게 큰 힘이 됩니다



DWGViewX 를 사용해 웹에서 cad 파일을 볼 수 있도록 해주는 도중 파일을 불러오지 못하는 오류가 발생 하였다.


일단 


<object id="DWGViewX" codebase="http://www.autodwg.com/dwgviewx/dwgviewx.cab" height="520" width="700" classid="clsid:AC53EFE4-94A7-47E6-BBFC-E9B9CF322299">

                        <param name="_Version" value="65536">

                        <param name="_ExtentX" value="18521">

                        <param name="_ExtentY" value="13758">

                        <param name="_StockProps" value="0">

                       <param name="DrawingFile" value="불러올 파일이 있는 경로">

                        <param name="ShowToobar" value="-1">

                        <param name="ShowLayoutBar" value="1">

                        <embed name="DWGViewX" width="700" height="520" type="DWGVIEWXLib.DwgViewX" showtoolbar="-1" showlayoutbar="1" pluginspage="http://www.autodwg.com/dwgviewx/dwgviewx.cab" title="undefined">

                    </object>



사용방법은 html안에 이렇게 사용해 넣으면 된다.


DrawingFile 파라메터의 밸류값에 불러올 파일이 있는 경로를 지정해 주면 된다.


절대경로를 사용한다면 클라이언 PC의 경로를 뒤진다 (ex) C/programs/..........기타등등)


서버에 있는 파일을 보여주고 싶다면


경로값이 해당 dwg파일을 다운로드 받는 url을 넣으면 해당 파일을 보여준다.



문제는 자꾸 no mapping uri가 나타나면서 에러가 나고 하얀색 화면만 나타난다는 점이다.


해당 경로를 브라우저의 URL창에 넣으면 파일은 정상적으로 다운로드가 되지만 dwg뷰어에서는 해당 url를 찾지 못한다고 나올 뿐이다.


어노테이션 설정에 문제가 있는 건지 한참을 뒤져보다가 원인을 찾게 되었다.


원인은 DrawingFile의 value값이 중간에 인코딩이 되어 요청된다는 것이다.


한글은 깨지고 영문은 전부 소문자로 변환된 후 요청을 한다.


해결방법은 그냥 호출받는 주소를 전부 소문자로 바꿔줘 버렸다...

파일이름은 파일이 업로드 될때 실제 저장된 파일이름은 UUID로 바꾼후에 영문소문자로 바꿔서 저장을 하도록 했다.


이제 도면파일 잘나온다.


액티브X 사라져버렸으면 좋겠다.

이것때문에 돌아버리는줄 알았네요


패딩을 0을주고 마진을 0을주고 별것 다 해봤는데도 간격이 그대로 있길래


미치기 직전까지 가던 와중에 다른 방법을 발견 했습니다.


뭐 저도 구글링하면서 발견 한거지만요


<li>

내용

</li><!-- 


 --><li>내용</li> 


이런식으로 li태그 사이에 주석처리로 공백을 없애 주면 됩니다.


<li>

내용

</li><li>내용</li>


이런식으로 공백을 없애도 되지만 가독성이 너무 떨어지기 때문에 위와 같은 방법을 사용하는것이 좋을것 같습니다. 



+ Recent posts