[20151120] 최근 학습 노트

6014 단어 camelajax 전송 값

1) camel 프로 세 스 의 if else
프로 세 스 가 CamelStart - > A - > B 라 고 가정 합 니 다.
프로 세 스 시작 클래스
 
public class CamelStart {
	public static void main(String[] args) {
		ApplicationContext ctx = new FileSystemXmlApplicationContext("itmon_demo/WEB-INF/conf/spring/sys/context-route.xml");
		System.out.println(ctx);
		
		ProducerTemplate template = ctx.getBean("producerTemplate", ProducerTemplate.class);
//		template.sendBody("direct://AstartData");
		String str = "a";
		template.sendBody("direct://AstartData", "okoko");
		if(StringUtils.isBlank(str)) {
			try {
				template.start();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}
}

 ACamel1:
 
 
public class ACamel1 implements Processor {

	@Override
	public void process(Exchange exchange) throws Exception {
		String ret = (String) exchange.getIn().getBody();
		
		ret = ret + "a1";
		if(StringUtils.isBlank(ret)) {
			System.out.println("   A      。。 " + ret);
			exchange.getIn().setBody(ret);
		}
		
	}

}

 ACamel2:
 
 
public class ACamel2 implements Processor {

	@Override
	public void process(Exchange exchange) throws Exception {
		String ret = (String) exchange.getIn().getBody();
		ret = ret + "a2";
		System.out.println("   A      。。" + ret);
		
	}

}

 실행 후 결 과 는:
 
 
A 프로 세 스 의 두 번 째 단계 에 들어가다.okokoa2
 
이 는 현재 프로 세 스 가 CamelStart - > B 로 A 에서 sendbody 를 아래로 내 려 가지 않 기 때문에 프로 세 스 가 시작 점 에 있다 고 착각 하기 쉽다 는 뜻 이다. Camel Start 가 걸 려 요.그러나 실제 상황 은 A 가 sendbody 가 없 지만 B 는 여전히 CamelStart 로부터 데 이 터 를 받는다.(이것 은 프로 세 스 설정 때문에 사실상 A 를 갔 기 때 문 입 니 다. A 는 sendbody 가 없 지만 B 는 CamelStart 에서 데 이 터 를 받 습 니 다. A sendbody 가 되면 B 는 A 처리 후의 데 이 터 를 받 습 니 다)
 
2) ajax 집합 형식의 데 이 터 를 프론트 데스크 에 전송
먼저 list 나 map 가 프론트 에 전 달 될 것 이 라 고 가정 하고 배경 에서 그들 을 모두 map 에 넣 은 다음 에 이 map 를 JSON 대상 으로 전환 해 야 합 니 다 ~
이 list 나 map 의 할당 이 어떤 조건 을 만족 시 켜 야 한다 면, 즉 if 에 있 습 니 다.이 럴 때 이 list 나 map 를 json 대상 으로 전환 하 는 map 의 위치 에 두 는 것 에 주의해 야 합 니 다.
만약 이 집합 형식의 데 이 터 를 if 에 넣 으 면 프론트 데스크 에서 json. key 를 통 해 얻 은 것 은 undefined 로 인해 js 가 잘못 보 고 될 것 입 니 다.그래서 일반적으로 put 의 조작 을 if 밖 에 두 는 것 을 권장 합 니 다.
 
3) ajax 의 간단 한 쓰기:
$.post("ajax url",params).done(function(data){
   //    
});//params      json     ~

 백 스테이지 가 프론트 데스크 에 되 돌아 오 는 것 은 json 형식의 문자열 이 아니 라 맵 < String, Object > 데이터 일 수도 있 습 니 다.프론트 js 는 data. key 형식 으로 얻 을 수 있 습 니 다.프론트 데스크 톱 에서 백 스테이지 에 전 달 된 매개 변 수 는 백 스테이지 방법 에 매개 변수 가 있 고 매개 변수 이름 이 프론트 데스크 톱 에서 전 달 된 params key 와 일치 하면 이 방법의 매개 변 수 는 전 달 된 값 을 직접 받 을 수 있 습 니 다!
 
4) 좋 은 생각: 제출 버튼 에 대해 제출 하기 전에 검증 하려 면 전통 적 인 방법 을 제외 하고 이 단 추 를 일반 단추 로 사용 할 수 있 습 니 다. 제출 여 부 는 js 함수 의 if else 에서 진행 할 수 있 습 니 다.예 를 들 어 검사 조건 을 만족 시 키 는 If 에 들 어가 면 우 리 는 if 에 ajax 가 제출 한 논 리 를 쓸 수 있 고 else 에 서 는 제출 할 수 없 는 원인 만 제시 할 수 있 습 니 다.
 
5) redis 설정 만 료 시간
이것 은 듣 기 에 평범 하 겠 지, 전에 나 도 소개 한 적 이 있어.redis 의 key 만 료 시간 을 설정 하 는 것 은 필요 합 니 다. redis 를 사 용 했 으 니 캐 시 된 데 이 터 는 매우 거대 하기 때문에 모든 데 이 터 를 영구적 으로 저장 할 수 없습니다.다음은 redis 키 의 만 료 시간 을 설정 하 는 것 이 아니 라 redis 의 파 티 션 선택 이 만 료 시간 에 미 치 는 영향 을 보 여 주 는 것 입 니 다 ~
Jedis jedis = new Jedis("localhost");
jedis.select(8);
Map<String, String> map = new HashMap<String, String>();
map.put("test", "content");
map.put("test2", "content2");
jedis.hmset("map", map);
		
jedis.select(7);//         
jedis.set("test", "cs");
jedis.expire("map", 30);

 이 코드 의 본 뜻 은 매우 간단 합 니 다. 먼저 8 구역 에 맵 을 캐 시 하고 생존 시간 을 설정 한 다음 에 7 구역 으로 전환 하여 string 을 저장 합 니 다. 그러나 주의해 야 할 것 은 이 맵 을 설정 한 만 료 시간 을 구역 전환 작업 뒤에 두 는 것 입 니 다! 테스트 해 보면 8 분 구 맵 이 30s 이후 에 만 료 되 지 않 는 다 는 것 을 알 게 될 것 입 니 다!이 유 는: 당신 의 파 티 션 이 8 파 티 션 으로 전환 되 었 습 니 다. 당신 의 모든 작업 은 8 파 티 션 에 만 유효 합 니 다 ~ ~ expire 는 7 분 구 의 map 를 대상 으로 하지만 8 분 구 에 있 습 니 다. 이 설정 은 '닿 지 않 습 니 다' 이기 때문에 jedis. expire ('map', 30) 를 사용 해 야 합 니 다.이 줄 코드 를 jedis. select (7) 로 옮 깁 니 다.전에 ~
- 이 bug 는 은밀 하지만 치 명 적 입 니 다. 특히 실제 빅 데이터 의 경우 로 컬 에서 데 이 터 를 테스트 하 는 것 은 아직 알 아 볼 수 없습니다.
 
6) 같은 검색 상자 에 입력 하 십시오. ajax 는 배경 에 입 습 니 다. 신기 한 sql 시리즈 입 니 다.
흔히 볼 수 있 는 상황 중 하 나 는 '조회 하고 싶 은 xx 나 yy 를 입력 하 십시오' 입 니 다. 여기: xx 나 yy 는 서로 다른 조회 조건 이지 만 하나의 조회 텍스트 만 입력 할 수 있 지만 모든 조회 조건 에 따라 조회 할 수 있 습 니 다.여 기 는 항상 sql 에 공 을 들 입 니 다. 예 를 들 어:
 
SELECT * FROM tablename
WHERE (xx LIKE '%    %' OR yy LIKE '%    %')

 그 중에서 '검색 텍스트' 는 검색 상자 에 입력 한 텍스트 이 고 xx 와 yy 는 서로 다른 검색 조건 입 니 다.아무것도 입력 하지 않 으 면 where 뒤의 것 은 WHERE (xx LIKE '%%' OR yy LIKE '%%') 이렇게 하면 모든 기록 을 찾 아 목적 을 달성 할 수 있 습 니 다 ~ ~
이때 ajax 는 배경 에 하나의 인자 만 전달 하면 됩 니 다.
 
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
한낮 의 스타일 에 나 도 취 했다. 몇 가지 작은 경험 을 정리 하 자.
1) div 를 한 줄 에 표시 하려 면 div 마다 float: left 를 설정 해 야 합 니 다. margin-right:m.px
2) div 마다 width: n% (0 < n < 100) 를 설정 하지 않 으 면 기본 값 은 전체 body 를 가로로 차지 합 니 다.
3) 이 div 들 이 큰 div 에 둘러싸 여 있 는 지 관찰 합 니 다. 있 으 면 이 큰 div 의 width 와 height 가 다음 줄 에 표 시 된 작은 div 를 충분히 수용 할 수 있 도록 합 니 다.
4) 작은 div 마다 어떤 내용 을 한 줄 에 표시 하려 면 특정한 요소 의 width 가 크 지 않도록 하 십시오. 그렇지 않 으 면 다른 요 소 를 밀어 낼 것 입 니 다.
5) 한 줄 에 표시 하고 싶 은 요소 가 두 줄 로 잘못 표시 되면 특정한 요소 의 width 를 디 버 깅 하고 작 게 설정 합 니 다.
 
5) 브 라 우 저 를 사용 하 는 css 디 버 깅 도 구 를 배 우 는 것 도 중요 합 니 다!
계속 보충 중...

좋은 웹페이지 즐겨찾기