반응형

JSTL -  <c:set>태그 사용법

<c:set target="${board}" property="title" value="제목을 변경합니다." />
<c:out value="${board.title}" />

<c:set target="${map}" property="title" value="맵에 제목을 입력합니다." />
<c:out value="${map.title}" />

<c:set var="title" value="제목 입니다." />
<c:out value="${title}" />

<%
String title = "스크립틀릿 제목입니다.";
pageContext.setAttribute("title", title);
%>
<c:out value="${title}" />
  

<c:set> 태그의 속성들
- value 속성 : 값을 입력합니다.  EL을 사용할 수 있습니다.
- target 속성 : 프로퍼티를 설정할 빈 또는 맵을 가집니다.
- property 속성 : 설정할 프로퍼티 입니다.
- var 속성 : 값이 저장되는 변수명 입니다.
- scope 속성 : 변수가 저장된  Scope 입니다. page, request, session, application 을 가질 수 있고, 기본값은 page 입니다.

반응형
반응형

[JSTL] Tag가 jsp 화면에 그대로 노출될 경우, escapeXml  

JSTL로  처리를 할 때, 태그가 적용이 안되고 화면에 그대로 노출이 될 때가 있다.

기본적으로 escapeXml 이라는 값이 true로 처리가 되고, 이 속성은 <, > 와 같은 값들을 <, > 등으로 변경하여 화면에 뿌려주게 된다.

하지만, 태그를 원하는 대로 뿌려줘야 할 경우도 존재하니 이럴 경우 escapeXml="false" 처리를 해주면 된다.

<c:out value="${값}" />
<c:out value="${값}" escapeXml="false" />
 
반응형
반응형

[JSTL] 한자리 숫자 앞에 0붙이기, addZero

<c:forEach var="c" items="${contents.content}" varStatus="status">
    <fmt:formatNumber var="no" minIntegerDigits="2" value="${status.count}" type="number"/>
     ${no}
</c:forEach>
반응형
반응형

[JSTL core] [c:forEach] varStatus를 활용한 변수

forEach문은 아래와 같이 활용한다.

<c:foreach items="${리스트가 받아올 배열이름}"
           var="for문 내부에서 사용할 변수"
           varStatus="상태용 변수">

	// 반복해서 표시할 내용 혹은 반복할 구문

</c:foreach>

이 때, 상태용 변수를 status라고 지정했다면 아래와 같이 활용할 수 있다.

 

${status.current} 현재 for문의 해당하는 번호

${status.index} 0부터의 순서

${status.count} 1부터의 순서

${status.first} 첫 번째인지 여부

${status.last} 마지막인지 여부

${status.begin} for문의 시작 번호

${status.end} for문의 끝 번호

${status.step} for문의 증가값

<c:foreach items="${list}" var="list" varStatus="status">
	<c:out value="${status.index}" /> / <c:out value="${status.end}" />
</c:foreach>
반응형
반응형

[JSP] JSTL을 이용하여 개행(줄바꿈)문자를 태그로 바꾸기 ( 줄바꿈,개행,공백, replace 처리 ) 

줄바꿈, 공백 처리


<!-- 상단에 선언 -->
<%
pageContext.setAttribute("CR", "\r");
pageContext.setAttribute("LF", "\n");
pageContext.setAttribute("CRLF", "\r\n");
pageContext.setAttribute("SP", "&nbsp;");
pageContext.setAttribute("BR", "<br/>");
%> 

<!-- jstl로 변환처리 -->
<c:set var="cmt" value="${fn:replace(coment.coment,CRLF, BR)}" />
<c:set var="cmt" value="${fn:replace(cmt,CR, BR)}" />
<c:set var="cmt" value="${fn:replace(cmt,CR, BR)}" />
<c:set var="cmt" value="${fn:replace(cmt,' ',SP)}" />
 

<!-- 화면에 출력하기 -->
<c:out value="${cmt}" escapeXml="false"/> 

 

반응형
반응형

JSTL변수 ${} 를 JSP에서 사용 하기, 변수 혼용하기

JSTL ---> JSP
///////////////////

<c:set var="변수이름" value="${JSTL변수}"/>

<%
String strJsp=(String)pageContext.getAttribute("변수이름");
%>


////////////////

JSP ---> JSTL

<%
String strJSP="A123"
pageContext.setAttribute("strJSTL",strJSP);
%>

<c:out value="${strJSTL}" />

=-========================================

<%
int jspVal = 888;
pageContext.setAttribute("jspVal", jspVal) ;
%>
<c:out value="${jspVal}" default="999"></c:out>
<c:set var="tmpValue" value="${jspVal}"></c:set>
<c:out value="${tmpValue}" default="0"></c:out>
<%= pageContext.getAttribute("tmpValue") %>

 

<jsp:useBean id="now" class="java.util.Date" />
<fmt:formatDate value="${now}" pattern="yyyy-MM-dd hh:mm" var="nowDate" />
<fmt:formatDate value="${now}" pattern="yyyyMMddhhmm" var="nowDateTrim" />
 
 <%
String nowDateTrim = (String)pageContext.getAttribute("nowDateTrim");
out.println(" nowDateTrim = "+ nowDateTrim);
%>

반응형
반응형

JSTL, Function Tag의 이해

  • Functon 태그는 자주 사용하는 유틸 함수의 기능을 제공한다.
  • <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 선언을 해줘야 사용할 수 있다.

5.1 Function Tag 에서 지원하는 함수들

  • 아래 표는 Function Tag 에서 지원하는 함수들이다.

 

속성 설명
fn:contains(string, sbustring) string이 substring을 포함하면 return True
fn:containsIgnoreCase(string, sbustring) 대소문자 관계없이 string이 substring을 포함하면 return True
fn:endsWith(string, suffix) string이 suffix로 끝나면 return True
fn:escapeXml(string) stting에 XML과 HTML에서 특수문자(<,>,&,',")들이 있으면, XML엔티티 코드로 바꿔준뒤 문자열 반환
fn:indexOf(string, sbustring) string에서 substring이 처음으로 나타나는 인덱스 반환
fn:join(array, separator) array요소들을 separator를 구분자로 하여 연결해서 반환
fn:length(item) item이 배열이나 컬렉션이면 요소의 객수를 문자열이면 문자의 객수를 반환
fn:replace(string, before, after) string내에 있는 before 문자열을 after 문자열로 모두 변경해서 반환
fn:split(string, separator) string내의 문자열 separetor에 따라 나누어서 배열로 구성해서 반환
fn:startsWith(string, prefix) string이 prefix로 시작하면 return True
fn:substring(string, begin, end) string에서 begin인덱스에서 시작해서 end인덱스에 끝나는 부분의 문자열 반환
fn:substringAfter(string, sbustring) string에서 substring이 나타나는 이후의 문자열 반환
fn:substringBefore(string, sbustring) string에서 substring이 나타나는 이전의 문자열 반환
fn:toLowerCase(string) string을 모두 소문자로 바꿔 리턴
fn:toUpperCase(string) string을 모두 대문자로 바꿔 리턴
fn:trim(string) string앞뒤의 공백을 모두 제거하여 반환

 

 

 

출처 : http://wiki.gurubee.net/pages/viewpage.action?pageId=26740270

 

JSTL의 이해 및 실습 - 12.구루비 Dev 스터디 - 개발자, DBA가 함께 만들어가는 구루비 지식창고!

JSTL의 이해 및 실습 Added by 김정식, last edited by 김정식 on 9월 18, 2012  (view change) JSTL의 이해 및 활용 1. JSTL의 이해 http://tomcat.apache.org/taglibs/ JS

wiki.gurubee.net

.....

반응형

'프로그래밍 > JAVA' 카테고리의 다른 글

JSP Spring workflow  (0) 2019.04.24
eclipse(이클립스) 유용한 단축키  (0) 2019.04.23
주석, JSP, JAVA  (0) 2019.04.23
JSTL, Format Tag의 이해  (0) 2019.04.23
JSP 에서 ASP의 response.end 처럼 하기  (0) 2019.04.23
반응형

JSTL, Format Tag의 이해

  • Format 관련 태그는 국제화와 포맷팅을 지원하는 라이브러리로 구성되어 있다.
  • <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 선언을 해줘야 사용할 수 있다.
  • 라이브러리가 많지만 자주 사용하는 몇 개에 대해서만 알아 보도록 하자

4.1 <fmt:formatNumber>

  • 숫자의 형식을 특정 포맷으로 표현하는 태그이다. (Number → String)
  • value : 특정 형식으로 표현 할 값
  • type : 숫자, 통화, 퍼센트 중 지정 (number|currency|percent)
  • pattern : 사용자가 지정한 형식 패턴. (ex. #,#00.0#)

fmt:formatNumber

4.2 <fmt:parseNumber/>

  • formatNumber와 반대로 정해진 문자열에서 숫자를 파싱한다. . (String → Number)
  • integerOnly : 주어진 값에서 Integer 부분만 파싱할지 여부

fmt:parseNumber

4.3 <fmt:formatDate/>

  • 날짜와 시간 형식을 표현하는 태그이다.
  • value : 특정 형식으로 표현 할 값
  • type : 숫자, 통화, 퍼센트 중 지정 (number|currency|percent)
  • pattern : 사용자가 지정한 형식 패턴. (ex. #,#00.0#)

fmt:formatDate

 

 

 

 

 

 

 

 

 

반응형

+ Recent posts