2009-09-28 2 views
0

Grails를 사용하여 웹 응용 프로그램을 작성합니다. 도장을 사용하기로 결정하고 main.gsp에서 시작하기 위해 도장 어안 (djo fisheye) 메뉴를 추가하여 모든 애플리케이션 페이지에서 사용할 수 있도록했습니다. (home) index.gsp 페이지에서는 제대로 작동하지만 다른 항목을 선택하면 어안 렌즈가 사라집니다. 내가 집으로 돌아 가면 거기에있다. 나는 나의 설정을 개정하고 모든 것이 나에게 좋아 보인다. 나는 단순하고 단순한 것을 전혀 사용하지 않고 있습니다. 나는 뭔가를 놓치고 있지만 그것을 알아낼 수는 없다. 여기Grails의 Dojo Fisheye 응용 프로그램 :

<html> 
<head> 

    ... 

    <g:layoutHead /> 

    <!-- use dojo library ... this has not effect at all --> 
    <g:javascript library="dojotk"/>  

    <!-- Load Dojo --> 
    <script type="text/javascript" src="js/dojotk/dojo/dojo.js" 
    djConfig="parseOnLoad:true, isDebug:false"></script> 

    <!-- need fisheye --> 
    <g:javascript type="text/javascript"> 
     dojo.require("dojox.widget.FisheyeList"); 
    </g:javascript> 

    <!-- required css for dojo fisheye --> 
    <style type="text/css">@import "js/dojotk/dojox/widget/FisheyeList/FisheyeList.css";</style>  

</head> 
<body > 
     ... 
    <!-- fisheye bar --> 
    <div id="fisheyebar"><g:render template="/common/fisheyebar"/></div> 

    <g:layoutBody /> 
</body> 

그리고을의 index.gsp를 포함

<g:javascript> 
    function load_app(target){ 
    window.location.href=target 
} 
</g:javascript> 
    <center > 
     <div class="outerbar"> 
      <div dojoType="dojox.widget.FisheyeList" 
        itemWidth="50" itemHeight="50" 
        itemMaxWidth="200" itemMaxHeight="200" 
        orientation="horizontal" 
        effectUnits="2" 
        itemPadding="10" 
        attachEdge="top" 
        labelEdge="bottom" 

        > 
    <div dojoType="dojox.widget.FisheyeListItem" 
      onClick= "load_app('${createLinkTo(dir:'/something')}');" 
      iconsrc="images/icon_something.png" caption="Web Browser"> 
    </div> 
     ..... 
    </div> 
</div> <!-- outbar --> 
</center> 

모든 페이지가 다음과 같은 한 _fisheyebar.gsp입니다 : 여기

는 명확성을 위해 단순화 내 main.gsp의 코드는 다음과 같습니다

<head> 
<title>some titel</title> 
<meta name="layout" content="main" /> 
</head> 

템플릿 (_fisheyebar)의 사용이 원인이 아니므로 코드를 직접 입력하십시오. 메인에서와 같은 효과가있었습니다. 그래서 나는 무엇을 놓치고 있습니까?

답변

0

dojo의 위치에 대한 상대 URL에 있습니다. 그것은 루트와 관련이 있으므로 인덱스가 작동하고 다른 페이지는 작동하지 않습니다.

절대 URL을 사용하면 문제가 해결됩니다.

0

do.gov 선언을 이동하여 main.gsp에 배치하는 대신 레이아웃 템플릿 페이지로 가져 오려고 했습니까?

+0

아니요. 나는 그 필요가 없었다. 나는 상대 URL 대신 절대 URL을 넣는다. Firebug를 사용하여 무슨 일이 일어 났는지보고 나서 잘못된 URL 호출을 보았습니다. –