2014. 4. 25. 15:32

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

2013. 11. 6. 16:36 COMPUTER/JAVA, JSP
[SPRING,JAVA] 프레임워크에 Ajax사용을 위한 JsonView 설정하기, Spring Framework JsonView Ajax Sample

JSON뷰를 이용하여 AJAX를 사용할 수 있게 설정하는 방법입니다.

예제는 전자정부 프레임웤으로 했습니다.

사실 pom.xml과 dispatcher에는 기본적으로 등록되어있었습니다.

다른 스프링기반 프레임웤들은 직접 추가해주시면 됩니다.


pom.xml
<dependency>        
	<groupId>net.sf.json-lib</groupId>        
	<artifactId>json-lib</artifactId>        
	<version>2.4</version>        
	<classifier>jdk15</classifier>    
</dependency>

<dependency> 
	<groupId>org.codehaus.jackson</groupId> 
	<artifactId>jackson-mapper-asl</artifactId> 
	<version>1.6.4</version> 
</dependency>

DispatcherServlet XML 설정파일
<bean class="org.springframework.web.servlet.view.BeanNameViewResolver" id="viewResolver" p:order="0"/>
<bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" id="jsonView">
	<property name="contentType" value="application/json;charset=UTF-8"/>
</bean>

web.xml
<servlet-mapping>
	<servlet-name>action</servlet-name>
	<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
	<servlet-name>action</servlet-name>
	<url-pattern>*.ajax</url-pattern>
</servlet-mapping>

TestController.java
@RequestMapping("/test.do")
public String test(@ModelAttribute("searchVO") CommentVO commentVO, ModelMap model) throws Exception {
	return "test/test";
}

@RequestMapping("/test.ajax")
public ModelAndView testAjax(@ModelAttribute("searchVO") CommentVO commentVO, ModelMap model) throws Exception {

	Map resultMap = new HashMap();
	resultMap.put("result1", "test1");
	resultMap.put("result2", "test222");

	ModelAndView modelAndView = new ModelAndView("jsonView",resultMap);
	return modelAndView;
}

test.jsp
<script type="text/javascript">
<!--

$.post("${pageContext.request.contextPath}/test.ajax",
	{
		test1: "1111",
		test2: "2222"
	},
	function(data) {
		alert("result: " + data);
	}
);

-->
</script>




END


2010. 10. 28. 18:01 PROGRAMMING
[IBATIS] 아이바티스 쿼리 작성시 유의사항, com.ibatis.common.xml.NodeletException, Error parsing XML

논리연산자를 아무렇게나 사용하면 에러가 납니다.
왜냐면 XML파일이기 때문이죠.
GREATER나 LESS를 쓰면 태그로 인식하는것입니다.

<![CDATA[ STRING ]]> 으로 쿼리 전체를 감싸도 됩니다.

이것때문에 파일이 깨지면 컴파일이 안되서 길쭉한 에러를 보게됩니다.

Cause: com.ibatis.common.xml.NodeletException: Error parsing XML.
Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'.
Cause: com.ibatis.common.xml.NodeletException: Error parsing XML.
Cause: org.xml.sax.SAXParseException: The content of elements must consist of well-formed character data or markup.

적용방법
<= : <![CDATA[ <= ]]>
=> : <![CDATA[ => ]]>
< : <![CDATA[ < ]]>
> : <![CDATA[ > ]]>

샘플
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="QueryManager">
 <select id="sampleQuery1" resultClass="java.util.HashMap">
  SELECT * FROM (
   SELECT ROWNUM AS RNUM, COL1, COL2, COL3, COL4 FROM BOARD
   ORDER BY COL1 ASC, COL2 DESC
  ) WHERE RNUM <![CDATA[ <= ]]> #START# ORDER BY COL1 DESC, COL2 ASC

 </select>

 <select id="sampleQuery2" resultClass="java.util.HashMap" parameterClass="java.util.HashMap">
  SELECT COUNT(*) AS TOTAL FROM BOARD
 </select>

2010. 10. 5. 15:08 COMPUTER/JAVASCRIPT, JQUERY
[JQUERY] JQuery Selector, 객체 선택
제이쿼리를 이용할때 절대 잊으면 안되는것.
바로 html의 객체들을 선택할줄 알아야 뭔가 하겠죠.


$("font")
태그타입(Element)으로 찾기 - <font>안두볼</font>

$("div,a")
div와 a태그들을 선택합니다.

$("#kaudo")
아이디로 선택 - <a id="kaudo" class="link" href="http://www.kaudo.com">안두리</a>

$(".link")
CSS 클래스명으로 선택 - <a id="kaudo" class="link" href="http://www.kaudo.com">안두리</a>

$("*")
모든 태그(Element)를 선택합니다.

등록할때는 이런식으로
var objTest=$("#test");

 
John Resig @ Kings of Code 08
John Resig @ Kings of Code 08 by jaf 저작자 표시비영리동일조건 변경허락

2009. 12. 17. 17:11 PROGRAMMING
[FLASH/AS2] 플래시 액션스크립트2 크로스도메인 설정, AS2 CrossDomain
플래시에서 XML 데이타를 읽어들여야할때
로컬에선 잘 됬을지 모르나,
인터넷상에선 서버가 서로 틀리게 되면 보안정책 위반으로 읽어오지 못함

1. xml이 위치한 서버에 crossdomain.xml을 생성
2. swf를 로딩하는 곳에서 allowScriptAccess 확인
* 스크립트에서 직접 보안정책파일(crossdomain.xml)을 지정할 수도 있다.

crossdomain.xml
<?xml version="1.0" encoding="utf-8"?>
<cross-domain-policy>
 <allow-access-from domain="*" />
</cross-domain-policy>
allow-access-from은 아래와 같이 쓸수 있음
<allow-access-from domain="*.kaudo.com" to-ports="*" />
<allow-access-from domain="kaudo.com" to-ports="80" />
<allow-access-from domain="www.kaudo.com" />


특별한 파일명으로 직접 설정할때에는 Flash 스크립트창에 직접 써줘도 된다.
System.security.allowDomain("*");
System.security.loadPolicyFile(http://도메인/crossdomain.xml);


그리고 swf를 로딩하는 <object나 <embed태그에 allowScriptAccess는 always로 명시해줘야한다.
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="984" height="855" align="middle">
<param name="allowScriptAccess" value="always" />
<param name="allowFullScreen" value="true" />
<param name="movie" value="플래시파일.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#FFFFFF" />
<param name="wmode" value="transparent" />
<embed src="플래시파일.swf" quality="high" bgcolor="#FFFFFF" width="984" height="855" align="middle" allowScriptAccess="always" allowFullScreen="true" wmode="transparent" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" />
</object>
allowScriptAccess = always, sameDomain, never 기본값은 sameDomain

최근에 올라온 글

최근에 달린 댓글