2013-01-11 1 views
1

나는이playframework의 관점에서/else 문 경우

#{list items: allTasks, as: 'task'} 
<div class="task grid_12"> 

    #{list items:allClients, as: 'client' } 
     <div class="client grid_1"> 

      #{list items:allTasksDone, as: 'taskDone'} 

       #{if task.name==taskDone.task.name && client.name ==taskDone.client.name} 
        Done 
       #{/if} 
       #{else} 
        Not yet 
       #{/else} 
      #{/list} 
     </div> 
    #{/list} 
</div> 
#{/list} 

같은 조건문과 전망을하지만 결과는 거짓, 그것은 "아직 아니다"를 보여준다.
결과는 두 배로 보입니다.
해결 방법?

+0

문서에 따르면 복합 조건은 괄호로 묶어야합니다. http://www.playframework.org/documentation/1.2.5/tags –

+0

괄호를'# {if (task.name == taskDone.task.name && client.name == taskDone.client.name)}로 추가했습니다. }'여전히 작동하지 않습니다 –

+1

# {list} 반복 반복의 결과가 서로 섞이지 않도록 하시겠습니까? $ {taskDone_index}를 완료하기 전에 인쇄 해보고
을 추가하여 확인하십시오. – palako

답변

1

감사합니다. Palako. 예, 변수 "taskDone"을 루핑하기 때문입니다. 다음과 같이 코드를 확인하고 수정했습니다.

<div class="task grid_24"> 
<div class="client grid_3"> 
Task/Client 
</div> 
#{list items:allClients, as: 'client' } 
<div class="client grid_2"> 
${client.name} </div> 
#{/list} 
</div> 


#{list items: allTasks, as: 'task'} 
<div class="task grid_24"> 
    <div class="client grid_3"> 
     ${task.name} 
    </div> 

    #{list items:allClients, as: 'client' } 
    %{ 
     i =0; 
     }% 
     <div class="client grid_2"> 
      #{list items:allTasksDone, as: 'taskDone'} 

       #{if (taskDone.task == task && taskDone.client == client)} 
       %{ 
        i++; 
        }% 
       #{/if} 


      #{/list} 
     <div class="taskStatus grid_2"> 
     #{if i>0}Done#{/if} 
      #{else } Not yet#{/else} 
     </div> 
     </div> 

    #{/list} 
</div> 
#{/list}