JSTL 날짜형식 포맷팅 관련

JSTL API : http://java.sun.com/products/jsp/jstl/1.1/docs/tlddocs/index.html 

 


<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>


- JSP 상단에 추가해야 하는 태그 라이브러리


 


fmt:parseDate : String 형을 받아서 워하는 포멧으로 자료형을 Date 형태로 변경 시켜 준다.


fmt:formatDate : Date 형을 받아서 원하는 포멧으로 날짜 형태를 변경시켜 준다.


 


ex)


<fmt:parseDate value="${applDt}" var="dateFmt" pattern="yyyyMMdd"/>

<fmt:formatDate value="${dateFmt}" pattern="yyyy-MM-dd"/>


 


20081113 이라는 String 형태의 날짜 데이터가 존재한다고 가정하고


이 String 형태의 날짜를 2008-11-13 으로 변경하고 싶을 경우 위의 예 처럼 사용하면 된다.


그 외에도 2008. 11. 13 이런 식으로도 변경도 가능하다. (자신의 입맛에 맛게 변경하여 사용하도록 하자.)


 


<fmt:parseDate value="${applDt}" var="dateFmt" pattern="yyyyMMdd"/>


 


formatDate 는 Date 형태의 자료형만을 받아 변경시키도록 되어 있다. 즉 String 형태의 자료를 Date 형태로


변환시켜 줘야 할 필요가 있는데 이때 사용하는 태그가 fmt:parseDate 이다.


 


1. value 속성에는 넘어오는 파라메터(변환하고자 하는 String)의 이름을 적고


2. var 에는 fmt:formatDate 에서 사용될 변수 이름을 적어주도록 하자.


3. pattern 에는 value 속성에 들어가는 String 형태의 자료가 어떤 형태로 포멧되어 있는것인지를 지정해야 한다.


   즉, 넘어온 String 형태의 자료가 20081113 과 같이 포멧되어 있는 상태라면 yyyyMMdd 와 같이 적어준다.


   2008-11-13 과 같이 포멧되어 있는 상태라면 yyyy-MM-dd 와 같이 적어주면 된다.


 


<fmt:formatDate value="${dateFmt}" pattern="yyyy-MM-dd"/>


 


1. value 에는 parseDate 에서 var 속성뒤 적은 변수명을 적어주도록 한다.


2. pattern 에는 자신이 원하는 포멧 형식을 적어주면 된다. (yyyy년 MM월 dd일 과 같이도 사용이 가능하다.)


 


[출처] JSTL 날짜 형식 바꾸기 (fmt:parseDate & fmt:formatDate)|작성자 lbiryu

http://lbiryu.blog.me/30037958388




<참고 추가>

https://www.tutorialspoint.com/jsp/jsp_standard_tag_library.htm

https://www.tutorialspoint.com/jsp/jstl_format_formatdate_tag.htm

https://www.tutorialspoint.com/jsp/jstl_format_parsedate_tag.htm

SQL 조건절 IN 안에 조건 여러개 넣기

마이바티스로

IN 조건절 안에 조건 여러개 넣는 방법



<application-properties.xml>

1
2
3
<!-- 영업팀 ID -->
<entry key="salesTeam">M0020,M0022,M0033</entry>
 
cs



<Controller.java>

1
2
3
4
5
6
7
8
9
/* 영업팀 ID 정보 */
@Value("#{config[salesTeam]}")
private String salesTeam;
 
~~중간생략~~
 
/* 영업팀 토큰 정보 가져오기 */
String[] salesTeamArray = salesTeam.split(",");
 
List<HashMap<StringString>> salesTeamTokenInfo = pushService.getSalesTeamTokenInfo(salesTeamArray);
cs



<Service.java>

1
2
3
public List<HashMap<StringString>> getSalesTeamTokenInfo(String[] salesTeamArray) {
    return pushMapper.getSalesTeamTokenInfo(salesTeamArray);
}
cs



<Mapper.xml>

1
2
3
4
5
6
7
8
9
10
11
12
13
<select id="getSalesTeamTokenInfo" parameterType="list" resultType="HashMap">
    SELECT A.TOKEN,
           B.DEVICE
      FROM 테이블에이 A,
           테이블비 B
     WHERE 조인조건
       AND A.MEM_IDX IN
       <foreach collection="array" item="memIdx" index="index" open="(" separator="," close=")">
       #{memIdx}
       </foreach>    
</select>
cs


MultipartHttpServletRequest, MultipartFile, transferTo() 사용하여 파일쓰기



<jsp>

1
2
3
4
5
6
7
8
9
10
<div class="form-group">
    <label for="imgFile" class="col-sm-2 control-label">이미지파일첨부</label>
    <div class="col-sm-10">
        <div class="col-sm-12 ">
            <input type="file" id="imgFile" name="imgFile" onchange="uploadImage()" title="첨부파일 찾기">
            <h6>※JPG 20kbyte 이하</h6>
            <input type="text" id="imgUrl" name="imgUrl" placeholder="이미지 URL" class="col-xs-10 col-sm-10" readonly>
        </div>
    </div>
</div>
cs




<javascript>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
//서버 이미지 등록 /home/dev/imageRoot/mms.jpg
function uploadImage(){
    
    //확장자 체크
    var arr = $("#imgFile").val().split(".");
    var arrSize = arr.length;
    if (arr[arrSize-1].toUpperCase()!="JPG")
    {
        $("#imgUrl").val('');
        alert("지원하지 않는 파일 확장자입니다.");
        return false;
    }
    
    //파일크기 체크
    var fileSize = $("input[name='imgFile']")[0].files[0].size;
    console.log("### fileSize="+fileSize);
    if (fileSize > 20480) {//20480 = 20Kb
        $("#imgUrl").val('');
        $("#imgFile").val('');
        alert("JPG 이미지는 20kbyte 이하여야 합니다.");
        $("#imgFile").focus();
        return false;
    }
    //파일이 있어야만 함
 
    //서버 이미지 등록
    var formData = new FormData();
    formData.append("file",$("input[name='imgFile']")[0].files[0]);
        $.ajax({
            type: 'POST',
            url : '${rc.contextPath}/mmsImageUpload.do',
            processData: false,
            contentType: false,
            data: formData,
            success: function(result){
                $("#imgUrl").val( result );
            },
            error: function(e){
                alert("이미지등록 처리중 오류가 발생하였습니다.");
            }
        });
}
cs



<java>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/**
 * MMS 문자에 첨부할 이미지파일 업로드
 * 서버에 업로드 한다 (/home/dev/imageRoot/test.jpg)
 * mms.jpg 파일 하나에 덮어쓰기 한다
 * JPG 파일 용량은 20kbyte 이하여야 한다
 * @param request
 * @param response
 * @throws IOException
 */
@RequestMapping(value="/mmsImageUpload", method=RequestMethod.POST)
public void mmsImageUpload(MultipartHttpServletRequest request, HttpServletResponse response) throws IOException {
    try {
        
        String filePath = null;
        
        Map<String, MultipartFile> fileMap = request.getFileMap();
        for (MultipartFile multipartFile : fileMap.values()) {
            
            //String originalFileName = multipartFile.getOriginalFilename();
            String originalFileName = "mms.jpg";
            
            filePath = "/home/dev/imageRoot/Sms/"+originalFileName;
            //filePath = "D:\\DEV\\ImageRoot\\Sms\\"+originalFileName;
            
            File file = new File(filePath);
            if(!file.exists()) {
                file.mkdirs();
            }
            multipartFile.transferTo(file);
        }
        
        response.setContentType("text;");
        response.getWriter().write(filePath);            
        
    } catch (Exception e) {
        e.printStackTrace();
    }
    
}
cs


+ Recent posts