728x90

JSP 표준 액션 태그

JSP에서 기본으로 제공하는 태그

 

jsp:include

현재 페이지에 특정 페이지를 포함할 때 사용

공통 코드를 복붙 하기보다 각각 JSP 페이지에 구성을 하고 액션태그를 이용해 페이지를 포함시키는 것이 좋다 공통적으로 적용된 부분을 한꺼번에 수정할 수 있게 되어 유지보수가 수월

jsp include 지시자와의 차이

<%@ include file=“파일 명” %>과 쓰임이 동일하나 jsp파일이 java파일로 변환될 때 삽입되는 <%@ include %>와는 달리

jsp파일이 java파일로 바뀌고 컴파일이 완료되어 런타임 시 삽입

<jsp:include page=“파일 명“ flush=“true”/>
<jsp:include page=“./header.html”>
		<jsp:param name=“str” value=“안녕하세요”> 
</jsp:include>

 

 

jsp:forward

현재 페이지 접근 시, 특정 페이지로 이동

하나의 JSP페이지에서 다른 JSP페이지로 요청 처리를 전달할 때 사용 전달하는 페이지에서 request, response객체가 같이 전달되며, URL 변경x

RequestDispatcher 의 forward와 비슷

<jsp:forward page=”이동할페이지”>
		<jsp:param name=”변수명” value=”값” /> 
</jsp:forward>

 

<% if(str.equals(“A”)) { %>
		<jsp:forward page=“test1Class.jsp”>
<% } else { %>
		<jsp:forward page=“test2Class.jsp”> <% } %>

 

jsp:useBean

Java Bean객체를 사용하기 위한 태그

JSP에서 사용하는 VO, DTO, Entity와 동일

java class를 참조하여 빈(java bean) 객체를 생성하고 setProperty와 getProperty를 통해 값 저장 및 조회 가능

이미 같은 이름의 객체가 생성된 경우 기존의 객체 참조

 

   - id : 객체 인스턴스를 식별하는 이름

   - class : 완전한 형태의 클래스 이름

   - scope : 객체 참조의 유효범위(default : page)

<jsp:useBean id=”빈 이름” scope=”범위” class=”빈의 저장위치”/〉

<jsp:useBean id=“객체명“ class=“패키지 명. 클래스 명“ scope=“범위 지정자“/>
728x90
반응형
728x90

jsp:useBean

    - param 속성

 

setProperty

 - name속성 : useBean의 id속성값에서 객체(여기서는 vo클래스)를 호출
 - property속성 : vo객체 안에 값을 저장할 setter명을 지정해준 것
 - param : 뷰에서 보낸 데이터를 받아오는 역할

 

getProperty

Java객체 사용 시 Getter와 동일한 역할

빈의 속성값읕 얻는데 사용

    - name : 속성을 얻고자 하는 빈 인스턴스의 이름

    - property : 얻고자 하는 속성의 이름

 

 

<h2> 1.표준 액션 태그  useBean으로 vo클래스 객체 불러오기</h2>
	
	<jsp:useBean id="per" class="action.model.vo.Person"></jsp:useBean>
	
	<!-- set으로 a값 넣기 : value속성값 -->
	<jsp:setProperty property="name" name="per" value="a"/>
	
	<span>jsp:useBean & getProperty로 vo클래스 값 가져오기 :</span> 
	<jsp:getProperty property="name" name="per"/><br><br>

<br><hr><br>
<h2> 2.표준 액션 태그 중 useBean을 사용하여 vo클래스에 데이터 초기화</h2>
	<jsp:useBean id="p" class="action.model.vo.Person" scope="request"/>
	<jsp:setProperty property="name" name="p" value="b"/>
	
	<span>jsp:useBean & getProperty로 vo클래스 값 가져오기 : </span>
	<jsp:getProperty property="name" name="p"/><br><br>
	
	
	이름 : <jsp:getProperty property="name" name="p"/><br> 
	성별 : <jsp:getProperty property="gender" name="p"/><br>
	나이 : <jsp:getProperty property="nai" name="p"/>

<br><hr><br>
<h2> 3.jsp 표준 액션태그 중 useBean의 param속성 사용하기</h2>
<% request.setCharacterEncoding("UTF-8"); %> <!-- 자바코드 끌어오는 거니 끝에 세미콜론; -->
	<jsp:useBean id="p3" class="action.model.vo.Person" scope="request">
		<!-- 1)param속성 사용 -->
		<jsp:setProperty property="gender" name="p3" param="gender"/>
		<jsp:setProperty property="nai" name="p3" param="nai"/>
		<jsp:setProperty property="name" name="p3" />
		<!-- 
			jsp:setProperty에서 
				 name속성 : useBean의 id속성값에서 객체(여기서는 vo클래스)를 호출해오고 
				 property속성 : vo객체 안에 값을 저장할 setter명을 지정해준 것
				 param : 뷰에서 보낸 데이터를 받아오는 역할
		 -->
	</jsp:useBean>
		이름 : <jsp:getProperty property="name" name="p3"/><br>
		성별 : <jsp:getProperty property="gender" name="p3"/><br>
		나이 : <jsp:getProperty property="nai" name="p3"/><br>

<br><br><br>
</body>
</html>
728x90
반응형

'small steps > 1일 1코딩 - 코딩을 내 몸처럼' 카테고리의 다른 글

[1일 1코딩]  (0) 2022.05.30
[1일 1코딩]  (0) 2022.05.29
[1일 1코딩][JSP] 표준액션태그 <jsp:useBean>  (0) 2022.05.27
[1일 1코딩][JSP] 표준 액션 태그  (0) 2022.05.26
[1일1코딩]  (0) 2022.05.24
728x90

 

에러메세지

HTTP 상태 404 – 찾을 수 없음

Origin 서버가 대상 리소스를 위한 현재의 representation을 찾지 못했거나, 그것이 존재하는지를 밝히려 하지 않습니다.

상황

배운 코드를 써볼려고 새로 workspace와 프로젝트 파일을 생성하고 jsp뷰와 모델.vo 파일만해서 실행해봄. 수업 때는 저 두 파일만해서 페이지가 켜졌는데 에러나서 찾는 중

원인

이 에러메세지 원인의 상당 부분은 해당 경로가 잘못됬거나,경로가 지정하는 곳에 파일이 없는 것

지금의 경우에는 WEB-INF 아래 있는 파일들은 서버에서만 접근이 가능해서 서블릿을 통해야만 접근 할 수 있기 때문에

그래서 파일을 찾지 못한다고 나왔던 것

 

해결

파일들을 WebContent 아래로 이동

728x90
반응형
728x90

 

JSP 표준액션태그

 <jsp:useBean>

java class를 참조하여 빈(java bean) 객체를 생성하고 setProperty와 getProperty를 통해 값 저장 및 조회 가능 이미 같은 이름의 객체가 생성된 경우 기존의 객체 참조

id속성이 변수명이 되고 참조값이 됨

<jsp:useBean id=“객체명“ class=“패키지 명. 클래스 명“ scope=“범위 지정자“/>

 

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

	<p>객체값 통째로 찍기</p>
	
	<jsp:useBean id="put_varName_n_ref" class="action.model.vo.Person" ></jsp:useBean>
	객체값 통째로 찍기 : <%= put_varName_n_ref %>
	 
	<br>
	<!-- 안에 있는 값을 가져올 것임  -->
	<!-- get역할을 하는 jsp:getProperty 사용  -->
	이름 : <jsp:getProperty property="name" name="put_varName_n_ref"/><br> <%-- <% person1.getName %> --%> <!-- person1이 레퍼런스가 되는 것임. 레퍼런스로 참조할 것이 person1. 여기서 가져올 것이 이름 가져올거라 name 기술하면됨 -->
	성별 : <jsp:getProperty property="gender" name="put_varName_n_ref"/><br>
	나이 : <jsp:getProperty property="nai" name="put_varName_n_ref"/><br>
	
	
<h2> 1.표준 액션 태그  useBean으로 vo클래스 객체 불러오기</h2>
	
	<jsp:useBean id="per" class="action.model.vo.Person"></jsp:useBean>
	
	<!-- set으로 a값 넣기 : value속성값 -->
	<jsp:setProperty property="name" name="per" value="a"/>
	
	jsp:useBean & getProperty로 vo클래스 값 가져오기 : 
	<jsp:getProperty property="name" name="per"/><br><br>


<h2> 2.표준 액션 태그 중 useBean을 사용하여 vo클래스에 데이터 초기화</h2>
	<jsp:useBean id="p" class="action.model.vo.Person" scope="request"/>
	<jsp:setProperty property="name" name="p" value="b"/>
	
	jsp:useBean & getProperty로 vo클래스 값 가져오기 : 
	<jsp:getProperty property="name" name="p"/><br><br>
	
	
	이름 : <jsp:getProperty property="name" name="p"/><br> 
	성별 : <jsp:getProperty property="gender" name="p"/><br>
	나이 : <jsp:getProperty property="nai" name="p"/>

</body>
</html>
728x90
반응형
728x90

 

<jsp:include>

<jsp:forward>

<jsp:useBean>

<jsp:param>

<jsp:setProperty>

<jsp:getProperty>

 

 

<jsp:include>

<jsp:include page=“파일 명“ flush=“true”/>

<jsp:include page=“./header.html”>
		<jsp:param name=“str” value=“안녕하세요”> 
</jsp:include>

 

<jsp:forward>

<jsp:forward page=“파일 명“/>

<% if(str.equals(“A”)) { %>
		<jsp:forward page=“./A_Class.jsp”>
<% } else { %>
		<jsp:forward page=“./B_Class.jsp”> <% } %>

 

<jsp:useBean>

<jsp:useBean id=“객체 명“ class=“패키지 명. 클래스 명“ scope=“범위 지정자“/>

 

<jsp:param>

<jsp:setProperty>

<jsp:getProperty>

	<jsp:useBean id="person2" class="action.model.vo.Person" scope="session"/> <!-- 객체생성 -->
	<jsp:setProperty property="name" name="person2" value="강건강"/>
	<jsp:setProperty property="gender" name="person2" value="남"/> <!-- jsp:setProperty로 값과 세터명을 지정하고 vo클래스에 값이 저장되는 것 -->
	<jsp:setProperty property="nai" name="person2" value="20"/>	  <!-- setAge 생성자에 값 20을 저장하겠다는 의미 -->

	이름 : <jsp:getProperty property="name" name="person1"/><br> <%-- <% person1.getName %> --%> <!-- person1이 레퍼런스가 되는 것임. 레퍼런스로 참조할 것이 person1. 여기서 가져올 것이 이름 가져올거라 name 기술하면됨 -->
	성별 : <jsp:getProperty property="gender" name="person1"/><br>
	나이 : <jsp:getProperty property="age" name="person1"/><br>
728x90
반응형

+ Recent posts