나의 마음을 ctrl+c,너의 가슴에 ctrl+v

* select box design
https://select2.github.io/examples.html


* 자동사이즈 조정

jquery.autosize.min.js
$('#autosize').autosize();


* tooltip
$('.with-tooltip').tooltip({
        selector: ".input-tooltip"
});


* 입력열 타이핑시 제한숫자 표기
//jquery.inputlimiter.css
//jquery.inputlimiter.js
$('#limiter').inputlimiter({
    limit: 140,
    remText: 'You only have %n character%s remaining...',
    limitText: 'You\'re allowed to input %n character%s into this field.'
});


* 블로그의 tag 표 입력처리
//jquery.tagsinput.js
//jquery.tagsinput.css
$('#tags').tagsInput();


* 컬러피커 (2가지 타입)
//colorpicker.css
//bootstrap-colorpicker.js
$('#cp1').colorpicker({
   format: 'hex'
});
$('#cp4').colorpicker().on('changeColor', function(ev) {
    $('#colorPickerBlock').css('background-color', ev.color.toHex());
});


* datepicker 날짜 (일반형, 기간형 등)
// bootstrap-datepicker.js
// datepicker.css

$('#dp1').datepicker({
    format: 'mm-dd-yyyy'
});
$('#dp2').datepicker();
$('#dp3').datepicker();
$('#dpYears').datepicker();
$('#dpMonths').datepicker();

var startDate = new Date(2014, 1, 20);
var endDate = new Date(2014, 1, 25);
$('#dp4').datepicker()
        .on('changeDate', function(ev) {
    if (ev.date.valueOf() > endDate.valueOf()) {
        $('#alert').show().find('strong').text('The start date can not be greater then the end date');
    } else {
        $('#alert').hide();
        startDate = new Date(ev.date);
        $('#startDate').text($('#dp4').data('date'));
    }
    $('#dp4').datepicker('hide');
});


* daterange picker
// daterangepicker.js
// daterangepicker-bs3.css
$('#reservation').daterangepicker();
$('#reportrange').daterangepicker(
        {
            ranges: {
                'Today': [moment(), moment()],
                'Yesterday': [moment().subtract('days', 1), moment().subtract('days', 1)],
                'Last 7 Days': [moment().subtract('days', 6), moment()],
                'Last 30 Days': [moment().subtract('days', 29), moment()],
                'This Month': [moment().startOf('month'), moment().endOf('month')],
                'Last Month': [moment().subtract('month', 1).startOf('month'), moment().subtract('month', 1).endOf('month')]
            }
        },
function(start, end) {
    $('#reportrange span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
}
);

* timepicker
// bootstrap-timepicker.min.css
// bootstrap-timepicker.min.js
$('.timepicker-default').timepicker();
$('.timepicker-24').timepicker({
    minuteStep: 1,
    showSeconds: true,
    showMeridian: false
});


 

* tree 구조 데모
http://www.jstree.com/demo/

* 기타 유용 플러그인 확인
http://jqueryui.com/menu/
http://hanoora.blog.me/110185571693

* bootstra 참조
http://developers.facebook.com/tools/debug

 

'java > coding' 카테고리의 다른 글

[도움말] jQuery 1.4 chm  (0) 2013.10.24
taglib (el) 명령어 사전 (정리진행중)  (0) 2012.12.26
web.xml filter  (1) 2012.07.11

 

프로젝트 진행간 필요 도움말 첨부 - jQuery 1.4 chm

jquery-1.4.chm

* 참고 : 아래와 같은 차단해제가 필요함

 

'java > coding' 카테고리의 다른 글

jQuery plugin 정리 (+ bootstrap color picker 포함)  (0) 2014.05.15
taglib (el) 명령어 사전 (정리진행중)  (0) 2012.12.26
web.xml filter  (1) 2012.07.11

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

// substring
// java : "123abc".substring(2, 5); // return 3ab
${fn:substring("20120102", 4, 6)} <!-- return 01 -->

// split
${fn:split("abc@def.com","@")[0]} <!-- return "abc" -->
${fn:split("abc@def.com","@")[1]} <!-- return "def.com" -->

// join(array, separator)
-> eaual javascript join

// indexOf
${fn:indexOf("abc@def.com","@")} <!-- return 3 -->

// length
${fn:length('abc')} <!-- return 3 -->
${fn:length('')} <!-- return 0 -->
${fn:length(null)} <!-- return 0 -->

// replace
<%
pageContext.setAttribute("cr", "\r");       
pageContext.setAttribute("cn", "\n");      
pageContext.setAttribute("crcn", "\r\n");
pageContext.setAttribute("br", "<br/>");
%>
${fn:replace(result.contents,cn, br)}

// collection 및 List 객체의 size return
<c:set var="takeSize" value="${fn:length(takeList)}" />

// contains
${fn:contains('abc','b')}<!-- return true -->

// containsIgnoreCase
${fn:contains('aBc','b')}<!-- return true -->

// startsWith
${fn:startsWith('aBc','aB')}<!-- return true -->

// endsWith
${fn:endsWith('aBc','Bc')}<!-- return true -->

// trim(String) -> equal java trim

// escapeXml("<a>b</a>")

// substringAfter
${fn:substringAfter('aBcDef','Bc')}<!-- return 'Def' -->

// substringBefore
${fn:substringBefore('aBcDef','Bc')}<!-- return 'a' -->

// fn:toLowerCase(string)
-> equal java toLowerCase

// fn:toUpperCase(string)
-> equal java toLowerCase

 

'java > coding' 카테고리의 다른 글

jQuery plugin 정리 (+ bootstrap color picker 포함)  (0) 2014.05.15
[도움말] jQuery 1.4 chm  (0) 2013.10.24
web.xml filter  (1) 2012.07.11

web.xml filter

java/coding2012. 7. 11. 18:35

1. filter description

web.xml 에 설정된 filter 는 url 호출시, 공통처리 업무를 담당 한다.
web.xml 에서 설정하며,
당연하겠지만 framework 의 servlet Intercept (예를들면 Spring 의 HandlerInterceptorAdapter ) 이전에 실행된다.

example

<?xml version="1.0" encoding="UTF-8"?>
.
. 세부설정 상략

    <filter>
        <filter-name>UrlRewriteFilter</filter-name>
        <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
        <init-param>
            <param-name>logLevel</param-name>
            <param-value>WARN</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>UrlRewriteFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
.
. 세부설정 하략
.
</web-app> 


2. filter 중 UrlRewriteFilter
    - 기능 : 특정 Url로 유입시(from), 지정한 Url(to) 로 재호출을 해준다.
   - 설정 : UrlReWriteFilter 를 설정하면, /WEB-INF/urlrewrite.xml 파일이 생성된다. 이 파일에서 설정

example

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 2.6//EN"
        "http://tuckey.org/res/dtds/urlrewrite2.6.dtd">

<urlrewrite>
 <rule>
  <desc>시스템 이름으로 들어오는 URL에 대해 메인 페이지로 이동함</desc>
  <from>^/([a-zA-Z0-9]+)$</from>
  <to type="redirect">%{context-path}/$1/common/main/loginForm.do</to>
  </rule>
</urlrewrite>

 $1 은 유입되는 주소를 의미한다. (세부설정은 내용이 다양해서 별도 post 로)


3. customer filter 작성

<filter>
    <filter-name>CustomerFilter</filter-name>
    <filter-class>test.cmmn.filter.TestFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>CustomerFilter</filter-name>
    <url-pattern>*.do</url-pattern>
</filter-mapping>

모든 *.do url로 유입시, test.cmmn.filter.TestFilter 를 거친다.

기본적으로 TestFileter 는 Filter interface를 implements 한다.

Filter interface 는
    public void init(FilterConfig filterConfig) throws ServletException;
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain ) throws IOException,     ServletException;
    public void destroy();
의 메소드로 구성되어 있다.

implements 하여 해당메소드를 구현하면 된다.
init - filter 호출시, 설정
doFilter - filter에서 처리해야할 작업처리
destory - filter 종료시 호출

Sample java code

package *******.cmmn.managed;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

/** 
 * @Class Name    : AdmFilter
 * @Description    : 관리자모드 필터
 * @author    : ******
 * @create     : 2014. 05. 12.
 */
public final class AdmFilter implements Filter {

 @Override
 public void init(FilterConfig filterConfig) throws ServletException {
  // TODO Auto-generated method stub
  
 }

 @Override
 public void doFilter(ServletRequest request, ServletResponse response,
   FilterChain chain) throws IOException, ServletException {
  // TODO Auto-generated method stub
  
 }

 @Override
 public void destroy() {
  // TODO Auto-generated method stub
  
 }
}

add note : 기본적인 filter 수행에 dispatcher, chain 등 세부적으로 설정 및 확장하여, 활용할 수 있다.
(검색어 : [filter,dispatcher] [filter,chain] )

'java > coding' 카테고리의 다른 글

jQuery plugin 정리 (+ bootstrap color picker 포함)  (0) 2014.05.15
[도움말] jQuery 1.4 chm  (0) 2013.10.24
taglib (el) 명령어 사전 (정리진행중)  (0) 2012.12.26