mvvm - 列表框中不允许使用ZK元素 'template'

标签 mvvm intellij-idea zk

我正在使用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/

相关文章:

java - Java 中的 ZK AddThis 属性不在 ZUL 中

wpf - 选择空白行时 DataGrid 上出现意外的红色边框(验证错误)

java - 构建项目时捕获 AndroidLocationException

java - Android Studio IDE fatal error - "Exception in plugin Gradle."

java - 如何使 Java 代码可供两个项目访问

java - Zk 从选定选项卡中删除事件监听器

c# - 双向绑定(bind)忽略源更改

c# - View 模型公开的集合必须使用 MVVM 模式实现 ObservableCollection<T>

c# - MVVM 解决方案结构

javascript - ZK:如何使用 JavaScript 在客户端填充 zk 组合框