0805
비어있는 기간 동안에는 JSP로 쇼핑몰을 구현하는 개인 프로젝트를 진행했습니다.
차후 깃헙같은 곳에 업로드하도록 하겠습니다.
XML
noti.xml
<?xml version="1.0" encoding="utf-8" ?>
<쪽지 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="noti.xsd">
<수신>김상민</수신>
<발신>황현숙</발신>
<제목>출장 스케쥴</제목>
<내용>이번 주말 출장 잊지마세요.</내용>
</쪽지>
noti.xsd
<?xml version="1.0" encoding="utf-8" ?>
<schema xmlns="http://www.w3.org/2001/XMLSchema">
<element name="쪽지">
<complexType>
<sequence>
<element name="수신" type="string"/>
<element name="발신" type="string"/>
<element name="제목" type="string"/>
<element name="내용" type="string"/>
</sequence>
</complexType>
</element>
</schema>
<!-- 요소의 의미로 element 순서와 규칙을 정의 -->
<complexType> 자식이 있음을 알려줌.
<sequence> 안에 순서가 정의 됨을 알려줌.
xsd 파일은 xml schema 파일을 만들면 된다.
minOccurs 최소 개수 정의 안쓰면 디폴트 1
maxOccurs 최대 개수 정의 unbounded는 무한대다.
<고객:정보> => namespace : 태그명
jsp:useBean
jsp:include 와 같은 형식.
EL Expression Language
JSP의 기본 문법을 보완하는 스크립트 언어
간결한 소스 작성을 위해 탄생한 개념
표기법은 $로 시작한다.
${"Hello"} <br>
\${ 3+4 } = ${ 3+4 } <br>
\${ "3"+"4" } = ${ "3"+"4" } <br>
\${ "3 + 4" } = ${ "3 + 4" } <br>
결과
Hello
${ 3+4 } = 7
${ "3"+"4" } = 7
${ "3 + 4" } = 3 + 4
연산자가 제공된다.
${ 10 eq 20 } <br>
${ 10 == 20 } <br>
${ 10 ne 20 } <br>
${ 10 != 20 } <br>
${ 10 gt 20 } <br>
${ 10 > 20 } <br>
${ 10 lt 20 } <br>
${ 10 < 20 } <br>
아이디1:<%=request.getParameter("id") %><br> 4,5와 같다.
아이디2:<%=pb.getId()%> <br>
아이디3:<jsp:getProperty name="pb" property="id"/> <br>
아이디4:${ param.id } <br>
아이디5:${ param['id'] } <br>
아이디6:${ pb.id } <br> 2,3,7과 같다.
아이디7:${ pb["id"] } <br>
id비교1 : <%=request.getParameter("id") == "jessica"%> false <br>
id비교2 : <%=request.getParameter("id").equals("jessica") %> <br>
id비교3 : ${ param.id == "jessica" } <br>
id비교4 : ${ param.id.equals("jessica") } <br>
id비교5 : ${ param.id eq "jessica" } <br>
JSTL JSP Standard Tag Library
자바 문법 없이 태그만으로 JSP문장을 작성.
jstl.jar 와 standard.jar 파일이 필요하다.
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
태그 라이브러리 c라는 이름에 주소를 담아놓음.
out 태그
<c:out value="Hello"/>
<c:out value="${ 'Hello' }"/>
set 태그
<c:set var="h" value="Hello"></c:set>
h : ${ h }<br>
반복문 forEach태그
<c:forEach var="i" begin="1" end="10" step="1">
${param.dan} X ${i} = ${ i*param.dan }<br>
</c:forEach>
<select>
<c:forEach var="i" begin="1" end="30">
<option value='${i}'>${i}</option>
</c:forEach>
</select>
Integer.parseInt와 같은 기능 작동하기
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<fmt:parseNumber var="avg2" value="${avg}" integerOnly="true"/>
if와 switch~case 와 같은 형식
<c:if test="${param.food=='피자'}">
피자
</c:if>
<c:if test="${param.food eq '짜장면'}">
짜장면
</c:if>
<c:if test="${param.food.equals('떡볶이')}">
떡볶이
</c:if>
<c:if test="${!(param.food=='피자'||param.food eq '짜장면')||param.food.equals('떡볶이')}">
그 밖의 음식 <!--else가 없으므로 이런식으로 작성해야한다. -->
</c:if><br>
<c:if test="${param.food != '피자' && param.food ne '짜장면' and !param.food.equals('떡볶이')}">
그 밖의 음식 <!--else가 없으므로 이런식으로 작성해야한다. -->
</c:if>
switch~case
(어떠한 조건에 해당되면 break와 같이 내려가지 않는다.)
<c:choose>
<c:when test="${param.food=='피자'}">
피자
</c:when>
<c:when test="${param.food=='짜장면'}">
짜장면
</c:when>
<c:when test="${param.food=='떡볶이'}">
떡볶이
</c:when>
<c:otherwise> //default와 같은 기능
치킨
</c:otherwise>>
</c:choose>
el코드의 함수로 배열의 갯수 구하기
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
배열의 갯수 : ${fn:length(mList) }
일반 for문으로 배열 출력
<c:forEach var="i" begin="0" end="${fn:length(mList)-1 }">
${mList[i]}
</c:forEach>
확장 for 문 형식으로 마지막에는 쉼표붙이지 않기
<c:forEach var="movie" items="${mList }" varStatus="status">
${movie}
<c:if test="${!status.last }">
,
</c:if>
</c:forEach>
'Develop > JavaScript JQuery JSP' 카테고리의 다른 글
0809 JSP Servlet (0) | 2022.08.10 |
---|---|
0808 JSP Servlet (0) | 2022.08.10 |
0721 게시판 만들기 (0) | 2022.07.22 |
0720 JSP JDBC로 만든 칼럼 추가 삭제 (0) | 2022.07.22 |
0721 게시판의 구조 + ip주소 방식 설정 (0) | 2022.07.22 |