DWR에서 여러개의 Converter 설정하기

Programming/DWR 2007.11.26 14:47

진짜 이걸 설정하기 위해서 엄청나게 헤멧다.. 결국은 아무것도 아니었는데 말이다..;;


DWR에서는 converter 를 이용하여 사용자의 임의의 bean을 쓸수가 있다.

그런데. 지금껏 대부분의 예제에서는 딱 한개의 bean만을 사용한 예제를 보여준다.

하지만 bean이 어디 하나뿐이겠는가?


여러개의 빈들을 설정해서 사용하고 싶다. 그런데 어떻게 해야 여러개의 빈을 사용할 수 있을까?

한참을 고민하며 테스트도 죽어라 했다.

그 결과를 공개한다.



프로젝트 구성은 아래와 같다.

DwrAction을 통해서 DwrBeanDwrBeanTwo를 각각 호출하여 사용하고 싶다.

Capture1.gif 


  • DwrAction.java
 package daum.test;

public class DwrAction {
 public DwrAction(){
 }
 public DwrBean getBean(){
  DwrBean b = new DwrBean();
  b.setAddr("here");
  b.setName("kim");
  b.setNum(1);
  return b;
 
 }
 public DwrBeanTwo getBean2(){
  DwrBeanTwo t = new DwrBeanTwo();
  t.setAge(20);
  t.setLevel("B");
  t.setPost("Seoul");
  return t;
 }
}


  • index.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
<script type='text/javascript' src='dwr/interface/DwrAction.js'></script>
<script type='text/javascript' src='dwr/interface/DwrAction2.js'></script>
<script type='text/javascript' src='dwr/engine.js'></script>
<script type='text/javascript' src='dwr/util.js'></script>
<script type="text/javascript">
function getBean(){
 DwrAction.getBean(returnBean);
}
function getBean2(){
 DwrAction2.getBean2(returnBeanTwo);
}
function returnBean(data){
 alert(data.name+' '+data.num+' '+data.addr);
}
function returnBeanTwo(data){
 alert(data.age+" "+data.post+" "+data.level);
}

</script>
</head>
<body>
<a href="javascript:getBean()">getBean</a><br>
<a href="javascript:getBean2()">getBean2</a>
</body>
</html>


  • dwr.xml  
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd">
<dwr>
    <allow>
        <convert converter="bean" match="daum.test.DwrBean"/>
        <create creator="new" javascript="DwrAction" >
            <param name="class" value="daum.test.DwrAction"/>
            <include method="getBean"/>
        </create>
    </allow>
    <allow>
        <convert converter="bean" match="daum.test.DwrBeanTwo"/>
        <create creator="new" javascript="DwrAction2" >
            <param name="class" value="daum.test.DwrAction"/>
            <include method="getBean2"/>
        </create>
    </allow>
</dwr>

 괜히 삽질했다. 결론은 allow를 두번 쓰면 되는것이었던 것이다!!! 젠장할 DWR...-_-;;;


이 글은 스프링노트에서 작성되었습니다.

신고
크리에이티브 커먼즈 라이선스
Creative Commons License

'Programming > DWR' 카테고리의 다른 글

URL Validation  (0) 2008.01.02
DWR에서 여러개의 Converter 설정하기  (0) 2007.11.26
DWR  (0) 2007.11.26


티스토리 툴바