타임리프에서 a태그를 작성할 때는 th:href="@{}" 을 이용하여 작성합니다.

 

<!-- 특정 url로 이동 -->
<a th:href="@{https://developer-rooney.tistory.com}">글 상세보기</a>


<!-- 현재 서버 내에서 이동 -->
<a th:href="@{/board/list}">게시글 리스트</a>


<!-- 파라미터를 넘길 시 -->
<a th:href="@{/board/view(id = ${board.id})}">글 상세보기</a>


<!-- 파라미터를 여러 개 넘길 시 -->
<a th:href="@{/board/view(id = ${board.id}, writer = ${board.writer}})}">글 상세보기</a>


<!-- PathVariable 사용 시 -->
<a th:href="@{/board/view/{id}(id = ${board.id})}">글 상세보기</a>

 

기본적으로 사용되는 dependency만 작성했습니다.

 

<dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${springframework.version}</version>
        </dependency>
        
          <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>${springframework.version}</version>
        </dependency>
  
          <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>${springframework.version}</version>
        </dependency>
        
        <!-- Hibernate -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>${hibernate.version}</version>
        </dependency>
        
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-c3p0</artifactId>
            <version>${hibernate.version}</version>
        </dependency>
        
        <!-- C3PO -->
        <dependency>
            <groupId>com.mchange</groupId>
            <artifactId>c3p0</artifactId>
            <version>${c3po.version}</version>
        </dependency>
        
        <!-- Hibernate Validator -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>${hibernate.validator}</version>
        </dependency>
        
        <!-- JSTL Dependency -->
        <dependency>
            <groupId>javax.servlet.jsp.jstl</groupId>
            <artifactId>javax.servlet.jsp.jstl-api</artifactId>
            <version>${jstl.version}</version>
        </dependency>
        
        <dependency>
            <groupId>taglibs</groupId>
            <artifactId>standard</artifactId>
            <version>${tld.version}</version>
        </dependency>
        
        <!-- Servlet Dependency -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>${servlets.version}</version>
            <scope>provided</scope>
        </dependency>
 
        <!-- JSP Dependency -->
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>javax.servlet.jsp-api</artifactId>
            <version>${jsp.version}</version>
            <scope>provided</scope>
        </dependency>
        
        <!-- MySQL -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql.connector.version}</version>
        </dependency>
        
        <!-- Add Jackson for JSON converters -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>${jackson.databind.version}</version>
        </dependency>
        
        <!-- junit Dependency -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

변수명, 상수명, 메소드명, 클래스명, DB 컬럼명 등 이름을 지을 때 각각의 명명 규칙을 따라야 합니다.

 

예를 들어 클래스 이름은 단어의 첫 글자를 대문자로 표기하고, DB의 컬럼은 단어와 단어 사이에 언더바( _ ) 를 넣어줍니다.

 

주로 사용되는 명명 규칙 케이스를 정리해봅시다.

 

카멜 케이스

 

두번째 단어부터 단어의 첫 글자만 대문자로 적습니다.

예) camelCase

 

 

스네이크 케이스

 

각각의 단어 사이에 언더바( _ )를 적습니다.

예) snake_case

 

 

파스칼 케이스

 

각각의 단어 첫 글자를 대문자로 적습니다.

예) PascalCase

 

 

케밥 케이스

 

각각의 단어 사이에 하이픈( - )을 적습니다.

예) kebab-case

'Java Web > 개발 지식' 카테고리의 다른 글

WAS와 Web Server 차이  (0) 2022.01.28
Java 1.8에서의 변화  (0) 2022.01.27
스프링에서 IOC, DI, AOP란?  (0) 2022.01.26
HTTP와 HTTPS의 차이  (0) 2022.01.26
prefix와 suffix  (0) 2021.10.20

컨트롤러에서 return 할 때 결과에 따라 메시지를 출력하고 페이지를 이동해야 하는 경우가 있습니다.

 

아래 코드는 메시지 출력 후 페이지 이동을 하기 위한 jsp 파일입니다.

 

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>저장</title>
    <script type="text/javascript" src="<c:url value="/pluigs/jQuery/jquery-3.3.1.min.js"/>"></script>
</head>
<body onload="fn_search_list();">

<!-- 메시지 출력 후 이동할 페이지 지정 -->
<c:url var="searchUrl" value="/list.do"/>

<!-- 전자정부프레임워크 페이징 처리를 위한 모델 처리 form -->
<form:form modelAttribute="searchVO" id="searchForm" name="searchForm" action="${searchUrl}" method="post">
    <form:hidden path="pageIndex"/>
    <form:hidden path="pageUnit"/>
    <form:hidden path="searchCondition"/>
    <form:hidden path="searchKeyword"/>
    <form:hidden path="searchUseSe"/>
</form:form>

<script>

    /*********************************************************
	 * 메시지 alert()
	 ******************************************************** */
	<c:if test="${not empty message}">
	alert("${message}");
	</c:if>
    
	
    
    /*********************************************************
	 * 목록 처리
	 ******************************************************** */
    function fn_search_list() {
		<c:if test="${not empty path}">
		$("#searchForm").attr("action", "<c:url value="${path}" />");
		</c:if>
		$("#searchForm").submit();
	}
</script>

</body>
</html>

 

위처럼 작성하시고 model에 메시지와 이동 페이지 경로를 담아 jsp로 넘기면 alert()가 메소드를 띄운 후 폼 태그의 액션 경로에 모델에서 지정한 경로가 담기면서 페이징 정보를 담고 리스트로 이동합니다.

 

+ Recent posts