我正在使用IntelliJ开发Zk呈现的页面,当前正在尝试使用MVVM将数据放入ListBox。
但是,我一直用来自IntelliJ Element模板的消息来突出显示我的模板标签,这是不允许的。
下面的代码有什么我做错的吗?
<?page title="Main" contentType="text/html;charset=UTF-8"?>
<zk xmlns="http://www.zkoss.org/2005/zul"
xmlns:h="http://www.w3.org/1999/xhtml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.zkoss.org/2005/zul
http://www.zkoss.org/2005/zul/zul.xsd">
...
<center>
<listbox model="@bind(cvm.contractsList)">
<listhead>
<listheader label="Contract #" hflex="1" />
<listheader label="Contract Name" hflex="1" />
</listhead>
<!-- below tags are red -->
<template name="model" var="contract">
<listitem>
<listcell label="@bind(contract.contractNumber)" />
<listcell label="@bind(contract.contractName)" />
</listitem>
</template>
我对Maven的ZK依赖关系如下:
...
<properties>
<zk.version>6.5.2</zk.version>
</properties>
...
<dependencies>
<dependency>
<groupId>org.zkoss.zk</groupId>
<artifactId>zkplus</artifactId>
<version>${zk.version}</version>
</dependency>
<dependency>
<groupId>org.zkoss.zk</groupId>
<artifactId>zhtml</artifactId>
<version>${zk.version}</version>
</dependency>
<dependency>
<groupId>org.zkoss.zk</groupId>
<artifactId>zkbind</artifactId>
<version>${zk.version}</version>
</dependency>
<dependency>
<groupId>org.zkoss.zk</groupId>
<artifactId>zul</artifactId>
<version>${zk.version}</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.4</version>
</dependency>
关于可能相关的问题-我的VM正在返回值,但是我的listBox当前未显示它们(但是我尚未测试代码,因为将配置从
@load
更改为@bind
)。在语法问题上的任何帮助将不胜感激。
附录-另一个示例:
它必须是IntelliJ中我的架构配置中的内容。我总是需要在zul文件的顶部放置 namespace ,但是我注意到很多示例都没有添加 namespace 。我不知道为什么。
我还有另一个使有效语法无效的示例。今天,我遇到了
validationMessages
标记,IntelliJ将其指示为错误。样例代码:<window id="contractsReport" border="none" width="100%"
apply="org.zkoss.bind.BindComposer" viewModel="@id('vm')
@init('com.t2.anomalies.vm.AnomaliesReportsVm')"
validationMessages="@id('vmsgs')">
最佳答案
你没做错什么ZK员工只是对zul.xsd
模式的维护不够好。 ...其他一些东西也丢失了。因此,我们只需要忍受这一点。它实际上在运行时正在运行。因此,这只是一些开发时间上的不适。
无论如何,我曾经将<zk> </zk>
放在<template>
周围,以便编辑器会接受它。但由于某种原因我不记得了:-/...
关于mvvm - 列表框中不允许使用ZK元素 'template',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23290235/