728x90

최범균의 JSP2.2 웹프로그래밍 책을보다보니 Chapter17 답변형 게시판 구하기 를 보다보니

<c:if test="${listModel.totalPageCount > 0 }"> 요부분에서 분명히 listModel 이란 .java 파일도 없고
비슷한 이름의 ArticleListModel.java에 들어가도 totalPageCount가 없는거다 문론 gettotalPageCount는 있었다.
뭐지뭐지? 하고 검색을 해보니 내가 공부해놓고 잃어버린거였다.. 더 집중해서 봐야겠네...


1
2
3
4
5
6
7
<c:if test="${listModel.totalPageCount > 0 }">    <!-- ${a.bcd} = a.getBcd 와 같다 -->
    <!-- listModel의 설명 ${a.bcd} 는 a.getBcd() 메서드를 호출해서 값을 가져오게 됩니다.
        따라서, listModel.totalPageCount 는 listModel에 매칭되는 객체의 getTotalPageCount() 
        메서드를 호출하는 것과 같은 효과를 갖습니다.
        list.jsp 에서 ArticleListmodel 을 listModel 로 참조해하도록 만들었다.
        EL 부분 참조
     -->



listModel은 list.jsp 에


1
request.setAttribute("listModel",articleListModel);        //(객체명,객체)



이렇게 떡!!! 하니 articleListModel 을 listModel 로 참조해놨고...

${a.bcd} 는 a.getBcd 와 같은것이다!!! 

Posted by 앗뜨거
,
728x90

출처 : http://blog.daum.net/_blog/BlogTypeView.do?blogid=0K5ES&articleno=7866582&_bloghome_menu=recenttext#ajax_history_home


request.setAttribute() 와 request.getAttribute()


request.setParameter() 와 getParameter()를 이용하면 String의 값 밖엔 받을 수 없다. 
List를 받기 위해서는 setAttribute()와 getAttribute()를 써야 한다. 
이때 type이 Object 이기 때문에 반드시 형변환을 해줘야 한다.

 

혹시나 해서 문법도 쓴다.

 

action에서 객체를 request에 담을 때.

request.setAttribute("객체명", 객체);

 

이렇게 해서 jsp를 호출하면 jsp에서 "객체명"을 이용해서 객체를 받을 수 있다.

< %
Object x = request.getAttribute("객체명");
% >

 

Object 형으로 받는 다는 것. 핵심 포인트.

Posted by 앗뜨거
,
728x90

파일 입출력에서  if(var_byte == 10 || var_byte == 13) continue;    이부분이 왜 있는것인가 고민하다가 찾아보니 
아스키10번은 그줄의 맨 앞으로  13번은 바로 다음줄로 이동하는 코드였다 
그래서 저 코드가 나오면 다음코드를 읽지않고 바로 do{ 처음으로 가는것이다

ex> 

예를 들어....

 

Hi my name is _

 

... 라고 치고 _ 위치가 커서라고 치면....

 

Hi my name is

_

 

... 와 같이 커서가 다음 줄 첫번째 위치로 가려면 실제적으로

 

Hi my name is

                         _

 

... 와 같이 줄을 넘기고

 

Hi my name is

_

 

... 와 같이 옮긴 다음 줄의 처음으로 지이익 당기는 두단계로 이루어집니다.

 

여기서 다음 줄로 넘기는 것이 Line Feed 아스키코드 13 이고

옮기 다음 줄에서 제일 처음으로 지이익 당기는 것이 CR 아스키코드 10

... 이라고 생각하시면 무난하리라 생각됩니다.

 

printf 같은 곳에서 \n 의 개행문자로 위와 같은 동작을 하는데

문자는 \n 이지만 이에 대응되는 아스키코드는 CR+LF 라고 보아야 합니다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import java.io.*;
 
public class Ex_Inputstream 
{
    
    public static void main(String[] args)
    {
        int var_byte=-1;
        
        System.out.println("값을 입력하세요 :");
        
        do
        {
            try
            {
                var_byte = System.in.read();
            }
            catch(IOException e)
            {
                e.printStackTrace();
            }    
            
             // 아스키코드 10=>     Line feed(줄 맨처음으로) 13=>다음줄로    
            if(var_byte == 10 || var_byte == 13) continue;        ← 이부분
            if(var_byte == -1) break;            
            System.out.println("읽은값 : "+(char)var_byte);            
        }
        while(true);
    }
 
}



알아본 김에 아스키코드표






Posted by 앗뜨거
,