Framework2020. 6. 11. 14:24

Thymeleaf 를 이요한 layout 적용 하기

내용이 들어갈 파일

- contents.html

레이아웃 파일

- layout.html

 

1. pom.xml 에 dependency 추가

		<dependency>
			<groupId>nz.net.ultraq.thymeleaf</groupId>
			<artifactId>thymeleaf-layout-dialect</artifactId>
		</dependency>	

 

2. layout.html

<!DOCTYPE html>
<html lang="ko" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
<head>
	<meta charset="UTF-8">
	<title>Thymeleaf Layout Test</title>
</head>
<body>
	<div id="header"> 헤더가 들어갈 영역 </div>
    <div id="contents"> 
    	
        <!-- Thymeleaf Content 가 들어갈 영역 -->
        <th:block layout:fragment="content"></th:block>
    
    </div>
</body>
</html>

 

3. contensts.html

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org" lang="ko"
	  xmlns:layout="http://www.ultraq.net.nz/web/thymeleaf/layout"
  	  layout:decorator="layout">
<head>
	<meta charset="UTF-8">
</head>  	  
  	  
<body>
	<th:block layout:fragment="content">
    
    	본문(콘텐츠) 영역
        
    </th>    
</body>
</html>

 

4. 테스트

contents.html 을 호출 하면 layout.html 이 적용되어 화면에 표시된다.

Posted by 비니미니파
Framework2020. 6. 11. 10:49

Thymeleaf 에서 Session 을 처리 하는 방법

HTML 에서 처리


<span  th:text="${session.user_id}"> USER_ID </span>

Javascript 에서 처리


<script>

let user_id = "[[${session.user_id}]]";

</script>

 

Session 을 처리 하는 방법

HTML 에서 처리

<span  th:text="${param.user_name}"> USER_NAME </span>

Javascript 에서 처리

<script>

let user_name = "[[${param.user_name}]]";

</script>

 

* 간단하지만 자꾸 까먹는다... 

Posted by 비니미니파
Framework2020. 4. 10. 17:59

eclipse Maven 환경

pom.xml 을 열고 

 dependencies 탭에서 Add

spring-boot-devtools 를 찾아서 추가.

xml 에 잘 추가되어 있다.

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
		</dependency>

src/main/resources 

application.properties 를 열고

spring.devtools.livereload.enabled=true

추가 설정 하면

끝!

 

Posted by 비니미니파
Framework2020. 4. 10. 11:46

[Spring + Mybatis] 연동 시 나타나는 java.sql.SQLException: 부적합한 열 유형: 1111

Error setting null for parameter #8 with JdbcType OTHER . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. Cause: java.sql.SQLException: 부적합한 열 유형: 1111

#{NAME} 을

#{NAME, jdbcType=VARCHAR} 로 수정 하면 된다.

jdbcType 은 컬럼 Type 을 맞춰주자!

끝!

Posted by 비니미니파
Framework2020. 4. 6. 18:06

Spring boot 에서 tomcat Port 변경 하기

/src/main/resources

application.properties 파일에다 

server.port = 8085

설정 하면 끝...

application.properties 파일 설정을 더 알고 싶다면.

https://docs.spring.io/spring-boot/docs/current/reference/html/appendix-application-properties.html

Posted by 비니미니파
Framework2018. 11. 27. 18:05

환경 : eclipse + spring + mybatis 

<appender name="console" class="org.apache.log4j.ConsoleAppender">

<param name="Target" value="System.out" />

<layout class="org.apache.log4j.PatternLayout">

<param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss}] %-5p: %c - %m%n" />

</layout>

</appender>


[%d{yyyy-MM-dd HH:mm:ss}] 추가 

Posted by 비니미니파
Framework2018. 11. 9. 17:11

[개발 잡담]

Exception sending context destroyed event to listener instance of class ....

Eclipse + STS 개발 중 등록한 리스너에서 말썽 이다.

짜증 나서 리스너 막고 개발 하다 이건 아닌거 같아서 구글링 해서 적용해 봐도 결국 충돌 ㅠㅠ

Tomcat 도 clean , Project 도 clean 하면 오류가 안난다.

언제 다시 날지 모르겠다. 

 

Posted by 비니미니파
Framework2018. 10. 12. 09:28

Spring + Mybatis + Log4j 환경에서 SQL 로그 출력

환경에 따라 다를 수 있으니 참고만 하세요!

1. pom.xml

log4jdbc-remix 추가

 

2. log4j.xml 수정

~/src/main/resources/log4j.xml

    <!-- Query Loggers -->
    <logger name="jdbc.sqlonly" additivity="false"> 
        <level value="INFO"/> 
        <appender-ref ref="console"/> 
    </logger>     

    <logger name="jdbc.resultsettable" additivity="false"> 
        <level value="INFO"/> 
        <appender-ref ref="console"/> 
    </logger>

    <!-- Root Logger --> 

 

3. mybatis-context.xml 수정

<!-- Root Context: defines shared resources visible to all other web components -->
 <context:property-placeholder location="/WEB-INF/spring/mybatis/jdbc.properties" />
 <bean id ="dataSourceSpied" class= "org.springframework.jdbc.datasource.SimpleDriverDataSource" >
            <property name ="driverClass" value= "${jdbc.driverClass}"></property >
            <property name ="url" value= "${jdbc.url}" ></property >
            <property name ="username" value="${jdbc.username}"></property>
            <property name ="password" value= "${jdbc.password}"></property >

     </bean>    

     <!-- Log4JDBC 설정 -->
     <bean id="dataSource" class="net.sf.log4jdbc.Log4jdbcProxyDataSource"> 
      <constructor-arg ref="dataSourceSpied" /> 
      <property name="logFormatter"> 
      <bean class="net.sf.log4jdbc.tools.Log4JdbcCustomFormatter"> 
      <property name="loggingType" value="MULTI_LINE" /> 
      <property name="sqlPrefix" value="SQL:::" /> 
      </bean> 
      </property> 
     </bean>

Posted by 비니미니파
Framework2017. 2. 15. 09:19

Spring + Mybatis + log4j 연동 중 아래의 오류가 발생


The content of element type "log4j:configuration" must match "(renderer*,appender*,plugin*,(category|logger)*,root?,(categoryFactory|loggerFactory)?)".


log4j.xml 에 새로운 logger 추가 시 <root> 하단에 추가 하여 오류가 난 것이다.

<logger ...>

</logger>


logger 순서를 지켜야 한다.


새로운 logger 추가 시 logger 밑에다 추가 하자

Posted by 비니미니파
Framework2015. 7. 21. 18:34

Mapped Statements collection does not contain value for .....

Mapper 의 namespace 가 잘 못 되었을 경우 도 발생

mapper namespace 를 확인해보자!

<mapper namespace="......">

Posted by 비니미니파
Framework2015. 6. 12. 15:42
org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection;

JDBC 연결 오류다!

잘되던게 안된다면 DB 서버 연결을 확인해 봐야 한다!

 

Posted by 비니미니파
Framework2015. 3. 10. 16:20

java.sql.SQLException: 해당 위치에 지원되지 않는 SQL92 토큰:

어제 오늘 어이없는 오타(?) 때문에 여러 Exception 을 영접한다.

UPDATE TEST_TABLE SET

    CNT = CNT+ 1

WHERE ROW_ID = {#ROW_ID}

이런... 오류가 바로 안보인다. 

WHERE ROW_ID = {#ROW_ID}

===>

WHERE ROW_ID = #{ROW_ID}

#{VAL} 이다 {#VAL} 하면 당연 안된다!!!!!!

내일은 또 어떤 오류를 낼까???  ㅠ.ㅠ

Posted by 비니미니파
Framework2015. 3. 9. 17:52

Spring + Mybatis 연동 중 프로시져 콜 하는 부분에서

인덱스에서 누락된 IN 또는 OUT 매개변수:: 오류가 났다.

parameter 변수를 아무리 봐도 문제가 없었다...

statementType="CALLABLE" 이걸 빼먹었다....

헐~ ㅠ.ㅠ

결론, 프로시져 호출시에는 statementType="CALLABLE" 빼먹지 말자.

<select statementType="CALLABLE">

 

Posted by 비니미니파
Framework2015. 2. 17. 11:08

Error setting null for parameter #3 with JdbcType OTHER

Mybatis 로 넘어오는 3번째 파라미터가 null 이여서 나는 오류.

mybatis-config.xml 설정 해주면 끝

 


<setting name="jdbcTypeForNull" value="NULL" /> 

Posted by 비니미니파
Framework2015. 1. 27. 11:57
[Spring] Error creating bean with name 'sampleBean': Injection of resource dependencies failed;
nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'sampleBean' is defined

@resource 어노테이션 sampleBean 이 생성되지 않아서 오류가 났다.

---- 소스 일부 --
@Resource(name = "sampleBean")
private SampleBean sampleBean;
---- 소스 일부 --

삽질 끝에 설정을 추가 하여 해결은 하였으나 좀 더 찾아봐야 한다.

spring 설정 ( servlet-context ) 에 Bean 설정 확인.
없다면 정의해서 해결 ( 이렇게 하면 되는건지 확신이 없다! ㅠ.ㅠ)

<bean id="sampleBean" class="sample.model.SampleBean" />

-- 여기서 --
@resurce 어노테이션 구체적 학습필요

Posted by 비니미니파