2013-08-26 2 views
0
<textbox id="nextTitleTextbox" readonly="true" value="@bind(ivm.inventory.successorTitleName)" /> 
<button id="nextTitleButton" label="..." mold="trendy" onClick="@command('chooseFormerOrSuccessor', isFormer = false)"/> 
<a  id="nextTitleHrefView" href="/inventory_new.do?method=edit&amp;docUID=${ivm.inventory.successorTitleName}">view</a> 
<a  id="nextTitleHrefHistory" href="javascript:showRenamingHistory(${ivm.inventory.successorTitleName},${ivm.inventory.successorTitleName})">history</a> 

문제는 'a'태그에 있습니다. 텍스트 상자와 버튼은 제대로 작동하지만 'a'태그의 링크는 바인딩 정보를 포착하지 않으므로 링크는 /inventory_new.do?method=edit&amp;docUID=처럼 보입니다. 나는 많은 것을 시도했기 때문에 여기에 무엇이 잘못되었는지를 이해하지 못합니다. 비슷한 다른 페이지에서 작업하고 있습니다. 이 바인딩에서 실수는 어디에 있습니까? 왜 바인딩이 작동하지 않습니까?

이 난 zscript

<zscript> 
     String successorTitleHref = "/inventory_new.do?method=edit&amp;docUID=" + ivm.inventory.successorTitleName; 
</zscript> 

에서 문자열을 넣어 시도하지만 예외 가지고 :

Typed variable declaration : Class or variable not found: ivm.inventory.replacementTitleName. 

또한, 지원의 컨트롤, 별도의 파일에 위치, 모든 제어는 사용 derective에 추가.

답변

1

ZK의 바인딩은 변수 대체와 아무 관련이 없습니다. @bind()${...}을 사용할 수있는 것은 아닙니다. 이 두 개는 설명서에서 "EL 표현식"이라고 불리는 경우에도 완전히 다른 개념입니다. 그러나 binding EL ExpressionZUML EL Expressions은 두 가지가 있습니다.

zscript에서 ivm에 대한 액세스를 허용하려면이 변수를 스크립트의 어딘가에 정의해야합니다. 한 가지 방법은 인스턴스화하는 것입니다.

IVM ivm = new IVM(); 

또는 custom variable resolver을 사용할 수 있습니다.

관련 문제