Parameter 값에 따라 화면에 출력할 View 페이징 처리
- parameter값이 null이거나 제대로 넘어오지 않았을 경우에 적절한 처리를 하는 과정이 필요하다.
@Controller
public class Quiz0531Controller {
@RequestMapping("/listTest")
public String listTest(Model model, @RequestParam(name = "type", required = false, defaultValue = "" ) String type) {
model.addAttribute("type", type);
if(type == null) {
return "listTest";
}
if(type != null) {
}
if(type.equals("str")) {
model.addAttribute("strText", "스트링 리스트입니다.");
List<String> strList = new ArrayList<String>();
for(int i=1; i<=10; i++) {
strList.add("스트링 리스트입니다.");
}
model.addAttribute("strList", strList);
return "strListPage";
}
if(type.equals("member")) {
List<MemberDto> memberList = new ArrayList<MemberDto>();
memberList.add(new MemberDto("아이디1", "비번1", "이름1"));
memberList.add(new MemberDto("아이디2", "비번2", "이름2"));
memberList.add(new MemberDto("아이디3", "비번3", "이름3"));
memberList.add(new MemberDto("아이디4", "비번4", "이름4"));
memberList.add(new MemberDto("아이디5", "비번5", "이름5"));
model.addAttribute("memberList", memberList);
return "memberListPage";
}
return "listTest";
}
}
jstl -> view 페이지에서 특수문자 표현 관련 부분
화면에 출력
${str1}>
<%-- <c:out value="<c:out>"></c:out> --%>
${str2}
<br/>
<
<br/>
<c:out value="${str2}" escapeXml="true" />
<c:out value="${str2}" escapeXml="false" />
jstl에서 숫자 3자리마다 콤마(',')찍는 방법
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
숫자 단위 출력
<c:set var="money" value="15000000" />
<br/>
${money}
<br/>
<fmt:formatNumber type="number" value="${money}" groupingUsed="true"/> <br/>
<fmt:formatNumber type="number" value="${money}" /> <br/>
<fmt:formatNumber type="number" value="${money}" groupingUsed="false" />
날짜형식 변경
<fmt:formatDate value="${변경할 값}" pattern="yyyy-MM-dd" />
jstl에서 배열이나 컬렉션의 크기를 반환
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<c:forEach var="i" begin="0" end="${fn:length(memberList)}" step="1">
<p>${memberList[i].id}</p>
<p>${memberList[i].pw}</p>
<p>${memberList[i].name}</p>
</c:forEach>