개발 - 넥사크로 강좌

넥사크로 강좌[2] 버튼 클릭시 페이지 이동

개미v 2019. 6. 27. 11:23

 

넥사크로에서 페이지를 이동하는 개념은 두가지가 있습니다.

 

1. 넥사크로 페이지에서 스프링의 VIEW 페이지(JSP) 이동

==> 스크립트에서 location.href = "springView.do"; 를 사용

 

2. 넥사크로 페이지 --> 넥사크로 페이지

==> 스크립트에서 this.go("Base::HelloWorld2.xfdl"); 으로 폼을 이동

 

 

아래는 버튼 클릭시 페이지를 이동하는 예제 입니다.

 

[전자정부 프레임워크]

1. 전체 디렉토리 구조

컨트롤러 : src - main - java - com - study - controller

jsp 파일 : src - webapp - WEB-INF -jsp

servlet 설정파일 - src -webapp - WEB-INF - config - context-servlet.xml

 

2. Controller0.java

springView.do 요청이 왔을 때 springView.jsp 페이지를 보여주라는 맵핑 정보가 있음

package com.study.controller;

import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class Controller0{

	// springView 페이지
	@RequestMapping("/springView.do")
	public String springView(HttpServletRequest request, Model model) throws Exception {

		return "springView";
	}
}

 

3. springView.jsp

<%@ page language='java' contentType='text/html; charset=UTF-8' pageEncoding='UTF-8'%>
<%@ taglib prefix='c' uri='http://java.sun.com/jsp/jstl/core'%>

<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
<title>springView</title>
</head>

<body>
springView 페이지
</body>
</html>

 

4. context-servlet.xml

스프링 설정 파일으로 jsp파일의 경로 설정

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xmlns:task="http://www.springframework.org/schema/task"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
				http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
				http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
				http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
				http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.2.xsd
				">

	<context:component-scan base-package="com.study" />
	
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/jsp/" p:suffix=".jsp" />
	
</beans>

 

5. web.xml

스프링과 웹서비스 설정파일

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>k_lm</display-name>
  <filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>utf-8</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>*.do</url-pattern>
    <url-pattern>*.ajax</url-pattern>
  </filter-mapping>
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath*:context*.xml</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <servlet>
    <servlet-name>appServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>/WEB-INF/config/context-*.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>appServlet</servlet-name>
    <url-pattern>*.do</url-pattern>
    <url-pattern>*.ajax</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
  	<welcome-file>index.html</welcome-file>
  	<welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

 

[넥사크로]

1. HelloWorld 폼 구성

 

helloWorld.xfdl 스크립트에서 각 버튼 클릭시 화면이동 이벤트 처리한다.

this.Button00_onclick = function(obj:nexacro.Button,e:nexacro.ClickEventInfo)
{
	location.href = "springView.do";
}

this.Button01_onclick = function(obj:nexacro.Button,e:nexacro.ClickEventInfo)
{
	this.go("Base::HelloWorld2.xfdl");
};

 

 

2. HelloWorld2 폼 구성

 

 

개념 정리

- 넥사크로는 페이지 하나에서만 동작하는 개념이다.

- 넥사크로는 클라이언트 언어(javascript, html)로만 동작하는 개념이다.

- 넥사크로에서 서버 언어(JSP)는 사용이 불가능하다.

- 넥사크로 페이지를 스프링의 View로 만들 수 없다.

- 스프링의 View는 WEB-INF 하위에 있어 Controller를 통해 호출이 되고, 넥사크로 페이지는 webapp 하위에 있어 직접 접근한다.

 

'개발 - 넥사크로 강좌' 카테고리의 다른 글

넥사크로 강좌[4] 로그인  (1) 2019.07.06
넥사크로 강좌[3] transaction  (0) 2019.07.03
넥사크로 강좌[1] Hello World  (0) 2019.06.26
넥사크로 강좌[0] Intro  (0) 2019.06.26