문자열에 포함된 html 태그를 지우고 싶을 때에는 정규표현식을 많이 이용한다. 정규표현식이란 문자열 데이터에서 원하는 조건을 패턴의 형식으로 찾아내는 것을 말한다. 정규식은 전화번호, 주민등록번호, 이메일처럼 특정한 패턴이 있는 경우에 특히 많이 이용하게 된다. 정규식을 이용한 문자열 html 제거 기본 앱 '메시지'에 RCS 규격 추가…애플 기기간 '아이메시지'는 유지 아이폰에 기본 탑재된 문자메시지 전송 앱 '메시지'에 한 세대 전 규격인 SMS/MMS만 고집하던 애플이 구글과 유럽연합(EU) 압박에 결국 백기를 들었다. html 태그가 들어있는 샘플 코드이다. 태그 안에 텍스트와 태그가 골고루 들어 있다. contents.replaceAll("]*)?(\\s)*(/)?>", ""); 정규식을 만들..
java에서 xml을 파싱 할 때 Xpath를 이용하면 Dom 트리의 노드를 쉽게 검색이 가능하다. 파싱을 해보기 위해 임의의 xml을 하나 생성했다. 안에 이 반복되고 그 안에 과 각각 들어 있다. XPath를 이용한 xml 파싱 방법 public LinkedList xmlLoarder() throws Exception { log.info("xmlLoarder start"); DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance(); domFactory.setNamespaceAware(true); DocumentBuilder builder = domFactory.newDocumentBuilder(); String file_path..
자바에서 파일 다운로드를 구현하다 보면 문제가 발생할 때가 있다. 그건 바로 다운로드는 되지만 파일명의 특수문자가 깨진다거나 한글파일명은 다운로드가 안 되는 경우이다. 그래서 오늘은 파일다운로드 할때 어떤 브라우저를 사용하더라도 최대한 다운로드가 실패하지 않게 구현하는 방법을 알아보자. 사용자페이지 ${파일명} ${파일명2} ${파일명3} 파일명을 A 태그로 감싸고 data값에 파일명과 파일경로를 써 주었다. 다운로드 클릭 이벤트가 일어나면 A tag에 있는 data 속성값을 가져와서 변수에 담는다. 미리 만들어둔 download form에 넣고 submit()을 실행한다. 파일 다운로드 컨트롤러 @RequestMapping(value = "/file/download") public void downlo..
java에서 html을 엑셀로 출력하는 방법은 여러 가지가 있다.(poi 등등) 오늘은 그중에서 header만 간단히 변경해 엑셀이나 한글, 워드로 출력하는 방법을 알아보자. 출력해 볼 HTML office print 제목 내용 ${list.title} ${list.content} 출력할 내용은 db에서 불러왔고 jstl을 이용해 테이블 형식으로 만들었다. 더 예쁘게 스타일을 줄 수 있지만 일단 선 구분을 하기 위해 table에 border 값 1만 추가했다. 문서 상단에 다운로드 선언하기 jsp 상단에 헤더값을 선언한다. filename은 출력되는 파일이름이니 본인의 입맛에 맞게 변경하면 된다. 한글이 깨진다면 charset값을 변경해 주자. charset=utf-8, charset=euc-kr (js..
회사에서 응모하기 페이지를 만들라는 지령이 떨어졌다. 응모를 하기 위해서 필요한 건 개개인마다 다른 응모코드. 응모코드는 자바랜덤함수를 통해 구해보기로 했다. Math.random() 함수는 0이상 1미만의 값으로 난수를 반환한다. 이는 사용자가 지정한 값을 통해 원하는범위내의 값으로 변형이 가능하다. boolean flag = false; String reception = ""; Map map = new HashMap(); while (!flag) { Random rnd =new Random(); StringBuffer buf =new StringBuffer(); for(int i=0;i < 10;i++){ if(rnd.nextBoolean()){ buf.append((char)((int)(rnd.ne..
url에서 도메인과 패스를 분리해야 하는 과제가 생겼다. 어떻게 할지 고민하다가 pattern 클래스를 이용해 구해보기로 했다. 일단 분리하기 전에 url의 구조부터 알아보자. https://letsplaycoding.tistory.com/manage?utm_source=tistory#nice 프로토콜(protocal) : https 원활한 통신을 위해 모두가 지키기로한 약속이다. 도메인(domain) : letsplaycoding.tistory.com 임의로 지정한 사이트의 이름이다. 패스(path) : /manage 파일의 경로를 의미한다.컴퓨터로 따지면 폴더내에 폴더를 만들수 있는 개념이다. 파라미터(parameter) : ?utm_source=tistory 파라미터는 보통 쿼리 스트링으로도 불리며..